)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"cbb1ddc37b7353390f5563a2b1170e7fe1fb4884","unresolved":false,"context_lines":[{"line_number":16,"context_line":"check prior to the check being added, with a window where failing"},{"line_number":17,"context_line":"code could be added.  Instead it can be staged in with enforement"},{"line_number":18,"context_line":"and once all or the majority of projects have enabled it, the check"},{"line_number":19,"context_line":"could be graduated to always being included."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: If188f85e8093974802bd2bacc2a72b2ae35ee5a1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a890539_6621f99e","line":19,"range":{"start_line":19,"start_character":35,"end_line":19,"end_character":43},"updated":"2014-11-12 21:13:43.000000000","message":"I like this idea a lot but I don\u0027t think we should call it incubation.  While I support the incubation workflow, (add rule to incubation, if gets enough support then graduate), just because something doesn\u0027t get enough adoption doesn\u0027t mean we should remove it from incubation. I can see some rules living in \u0027incubation\u0027 permanently.","commit_id":"f41d4e5b02401a28b7bce40afb4778672f396d34"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"551e4ce3aff2a0fa95f888a90fc8d18d973f6ac1","unresolved":false,"context_lines":[{"line_number":16,"context_line":"check prior to the check being added, with a window where failing"},{"line_number":17,"context_line":"code could be added.  Instead it can be staged in with enforement"},{"line_number":18,"context_line":"and once all or the majority of projects have enabled it, the check"},{"line_number":19,"context_line":"could be graduated to always being included."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: If188f85e8093974802bd2bacc2a72b2ae35ee5a1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a890539_f8b741d6","line":19,"in_reply_to":"5a890539_6621f99e","updated":"2014-11-13 04:29:36.000000000","message":"Changed to optional and put the optional stuff in directories under checks ... see what you think.","commit_id":"f41d4e5b02401a28b7bce40afb4778672f396d34"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"26c59fca8b7fd76c279ec8d191de224926832181","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"One optional check was added:"},{"line_number":22,"context_line":"  H010: Don\u0027t put vi configuration in source files"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: If188f85e8093974802bd2bacc2a72b2ae35ee5a1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"da86d52c_89de0c10","line":23,"updated":"2015-02-02 23:16:38.000000000","message":"This seems like more work than is necessary... If I wanted to enable a hacking check I\u0027d just register it in the factory -- http://git.openstack.org/cgit/openstack/keystone/tree/keystone/hacking/checks.py#n412\n\nEditing that file to add a line is about as difficult as editing tox.ini.\n\nFor example if I want to enable the vi hacking check I\u0027d just add\n\n register(checks.no_vi_headers)\n\nImplementing optional checks this way also makes the check code simpler, since it doesn\u0027t have to check if it\u0027s enabled or not.","commit_id":"d6ae1569ecd41fe830caa07e7c308dbce47bf976"}],"HACKING.rst":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"0c2613f25336b4fa4c15b5fea0af6ab74e47c054","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    mylist \u003d Foo().list() # OKAY, does not shadow built-in"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"- [O101] (optional) Don\u0027t put vi configuration in source files"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Imports"},{"line_number":44,"context_line":"-------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_8346b24d","line":41,"range":{"start_line":41,"start_character":3,"end_line":41,"end_character":7},"updated":"2014-11-13 18:56:30.000000000","message":"I was thinking of adding a separate top level section for optional rules, but this works as well.\n\nAs for the letter, I think \u0027O\u0027 already means oslo and other things. I am not sure if rules can use 4 digits or not.","commit_id":"90763141e4fd1c009e22f088da3a75312e82c0eb"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"0d0a305146f17a73f739ee21bb30ba7d97d748ac","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    mylist \u003d Foo().list() # OKAY, does not shadow built-in"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"- [O101] (optional) Don\u0027t put vi configuration in source files"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Imports"},{"line_number":44,"context_line":"-------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a890539_9cc235e7","line":41,"in_reply_to":"5a890539_8346b24d","updated":"2014-12-11 19:23:37.000000000","message":"I think most of us open it and search for the code.  I liked having them in the same section so all the related ones are there.   Would always put the optional ones at the bottom of the section.\n\nAccording to flake8\u0027s documentation[1] it should be an upper case ASCII letter followed by three digits.   I went ahead and carved out H0xx for optional ones (starting at H010).\n\n[1] http://flake8.readthedocs.org/en/latest/warnings.html","commit_id":"90763141e4fd1c009e22f088da3a75312e82c0eb"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"de943bbbd0427dc7d10e2304bb78a43262f59878","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    mylist \u003d Foo().list() # OKAY, does not shadow built-in"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"- [H010] (optional) Don\u0027t put vi configuration in source files"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Imports"},{"line_number":44,"context_line":"-------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_0bd30b39","line":41,"updated":"2014-12-16 22:46:59.000000000","message":"Should we make a separate section for optional rules?","commit_id":"6a664a7baa3dffbf86cf6d98e73bc9ca973028b8"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"208ab5e0744a30a2d9c01ebb516461eced618c30","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    mylist \u003d Foo().list() # OKAY, does not shadow built-in"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"- [H010] (optional) Don\u0027t put vi configuration in source files"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Imports"},{"line_number":44,"context_line":"-------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_5649368a","line":41,"in_reply_to":"3a961159_0bd30b39","updated":"2014-12-16 23:23:30.000000000","message":"Done -- added section at bottom","commit_id":"6a664a7baa3dffbf86cf6d98e73bc9ca973028b8"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"26c59fca8b7fd76c279ec8d191de224926832181","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    mylist \u003d Foo().list() # OKAY, does not shadow built-in"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Imports"},{"line_number":42,"context_line":"-------"},{"line_number":43,"context_line":"- [H302] Do not import objects, only modules (*)"},{"line_number":44,"context_line":"- [H301] Do not import more than one module per line (*)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da86d52c_096e9c2f","line":41,"updated":"2015-02-02 23:16:38.000000000","message":"revert whitespace change on previous line.","commit_id":"d6ae1569ecd41fe830caa07e7c308dbce47bf976"}],"hacking/checks/optional/checks.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"0c2613f25336b4fa4c15b5fea0af6ab74e47c054","unresolved":false,"context_lines":[{"line_number":23,"context_line":"   O1xx value."},{"line_number":24,"context_line":" - List the new rule in the top level HACKING.rst file with"},{"line_number":25,"context_line":"   and indication that it is optional"},{"line_number":26,"context_line":" - Add test cases for each new rule to checks/optional/test_optionals.py"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"\"\"\""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_63b7063b","line":26,"range":{"start_line":26,"start_character":11,"end_line":26,"end_character":12},"updated":"2014-11-13 18:56:30.000000000","message":"To keep things consistent with the rest of the rules here, lets use docstring based tests (at least for now)","commit_id":"90763141e4fd1c009e22f088da3a75312e82c0eb"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"0d0a305146f17a73f739ee21bb30ba7d97d748ac","unresolved":false,"context_lines":[{"line_number":23,"context_line":"   O1xx value."},{"line_number":24,"context_line":" - List the new rule in the top level HACKING.rst file with"},{"line_number":25,"context_line":"   and indication that it is optional"},{"line_number":26,"context_line":" - Add test cases for each new rule to checks/optional/test_optionals.py"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"\"\"\""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_bc11b15e","line":26,"in_reply_to":"5a890539_63b7063b","updated":"2014-12-11 19:23:37.000000000","message":"Had to do a bit of redesign to get docstring testing to work, but it is working now.","commit_id":"90763141e4fd1c009e22f088da3a75312e82c0eb"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"de943bbbd0427dc7d10e2304bb78a43262f59878","unresolved":false,"context_lines":[{"line_number":35,"context_line":"OPT_TO_RUN \u003d CONF.get_multiple(\u0027optional-checks\u0027, default\u003d[])"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def do_not_run_optional(hacking_id):"},{"line_number":39,"context_line":"    return hacking_id not in OPT_TO_RUN"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_6bd64fc7","line":38,"updated":"2014-12-16 22:46:59.000000000","message":"Can you better document this function, and how it needs to be used. Shouldn\u0027t be more then a line or two. But this is an important line.","commit_id":"6a664a7baa3dffbf86cf6d98e73bc9ca973028b8"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"1b35e59c91dafb50e6732d42e36c24c8f783cce7","unresolved":false,"context_lines":[{"line_number":35,"context_line":"OPT_TO_RUN \u003d CONF.get_multiple(\u0027optional-checks\u0027, default\u003d[])"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def do_not_run_optional(hacking_id):"},{"line_number":39,"context_line":"    return hacking_id not in OPT_TO_RUN"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_3141140c","line":38,"in_reply_to":"3a961159_161dee73","updated":"2014-12-16 23:34:08.000000000","message":"Done","commit_id":"6a664a7baa3dffbf86cf6d98e73bc9ca973028b8"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"208ab5e0744a30a2d9c01ebb516461eced618c30","unresolved":false,"context_lines":[{"line_number":35,"context_line":"OPT_TO_RUN \u003d CONF.get_multiple(\u0027optional-checks\u0027, default\u003d[])"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def do_not_run_optional(hacking_id):"},{"line_number":39,"context_line":"    return hacking_id not in OPT_TO_RUN"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_161dee73","line":38,"in_reply_to":"3a961159_6bd64fc7","updated":"2014-12-16 23:23:30.000000000","message":"Missed this ... will do another patch right away.","commit_id":"6a664a7baa3dffbf86cf6d98e73bc9ca973028b8"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"de943bbbd0427dc7d10e2304bb78a43262f59878","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    return hacking_id not in OPT_TO_RUN"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"vi_header_re \u003d re.compile(r\"^#\\s+vim?:.+\")"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"@core.flake8ext"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_cb9e6363","line":42,"updated":"2014-12-16 22:46:59.000000000","message":"guh I don\u0027t like regex but seems reasonable here. Although I think we can make this rule a bit safer but ok for now.","commit_id":"6a664a7baa3dffbf86cf6d98e73bc9ca973028b8"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"de943bbbd0427dc7d10e2304bb78a43262f59878","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"@core.flake8ext"},{"line_number":73,"context_line":"def no_translate_debug_logs(logical_line):"},{"line_number":74,"context_line":"    \"\"\"Check for \u0027LOG.debug(_(\u0027"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    As per our translation policy,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_cbc74363","line":73,"updated":"2014-12-16 22:46:59.000000000","message":"So I have issues with this rule actually. \n\n\u0027LOG\u0027 doesn\u0027t always have to be the logging module. that is just something we always do.\n\nI would prefer to omit this rule from this patch and debate it independently.","commit_id":"6a664a7baa3dffbf86cf6d98e73bc9ca973028b8"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"208ab5e0744a30a2d9c01ebb516461eced618c30","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"@core.flake8ext"},{"line_number":73,"context_line":"def no_translate_debug_logs(logical_line):"},{"line_number":74,"context_line":"    \"\"\"Check for \u0027LOG.debug(_(\u0027"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    As per our translation policy,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_f6178252","line":73,"in_reply_to":"3a961159_cbc74363","updated":"2014-12-16 23:23:30.000000000","message":"Done -- removed","commit_id":"6a664a7baa3dffbf86cf6d98e73bc9ca973028b8"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"26c59fca8b7fd76c279ec8d191de224926832181","unresolved":false,"context_lines":[{"line_number":22,"context_line":" - These should only be rules that either are being staged in or that"},{"line_number":23,"context_line":"   do not have enough consensus behind them yet"},{"line_number":24,"context_line":" - Pick numbers in the range H0xx.  Find the current optional rule"},{"line_number":25,"context_line":"   with the hightest allocated number and then pick the next value"},{"line_number":26,"context_line":" - Keep the rule method in the source file ordered based on the"},{"line_number":27,"context_line":"   H0xx value."},{"line_number":28,"context_line":" - List the new rule in the top level HACKING.rst file with"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_c9272463","line":25,"updated":"2015-02-02 23:16:38.000000000","message":"change \"hightest\" to \"highest\"","commit_id":"d6ae1569ecd41fe830caa07e7c308dbce47bf976"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"26c59fca8b7fd76c279ec8d191de224926832181","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\"\"\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"CONF \u003d config.Config(\u0027hacking\u0027)"},{"line_number":35,"context_line":"OPT_TO_RUN \u003d CONF.get_multiple(\u0027optional-checks\u0027, default\u003d[])"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def do_not_run_optional(hacking_id):"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_e9af8892","line":35,"updated":"2015-02-02 23:16:38.000000000","message":"what do you think about \"extra-checks\" ?","commit_id":"d6ae1569ecd41fe830caa07e7c308dbce47bf976"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"26c59fca8b7fd76c279ec8d191de224926832181","unresolved":false,"context_lines":[{"line_number":35,"context_line":"OPT_TO_RUN \u003d CONF.get_multiple(\u0027optional-checks\u0027, default\u003d[])"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def do_not_run_optional(hacking_id):"},{"line_number":39,"context_line":"    \"\"\"Check if we should NOT run the optional check."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    See if the optional check\u0027s id was specified in the configuration\u0027s"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_a9be70d2","line":38,"updated":"2015-02-02 23:16:38.000000000","message":"suggestion: positive checks are easier to understand.","commit_id":"d6ae1569ecd41fe830caa07e7c308dbce47bf976"}],"hacking/checks/vim_check.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"63776fe8d016404ffc1d97d202e0f00fa0526caf","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    H010: # Lic\\n#\\n#\\n#\\n#\\n#\\n#\\n# vim: set tabstop\u003d4 shiftwidth\u003d4\\n#\\n#"},{"line_number":38,"context_line":"    H010: # Lic\\n#\\n#\\n#\\n#\\n#\\n#\\n#\\n# vim: set tabstop\u003d4 shiftwidth\u003d4\\n#"},{"line_number":39,"context_line":"    H010: # Lic\\n#\\n#\\n#\\n#\\n#\\n#\\n#\\n#\\n# vim: set tabstop\u003d4 shiftwidth\u003d4"},{"line_number":40,"context_line":"    Okay: # Lic\\n#\\n#\\n#\\n#\\n#\\n#\\n#"},{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":"    if line_number \u003c\u003d 5 or line_number \u003e len(lines) - 5:"},{"line_number":43,"context_line":"        if vi_header_re.match(physical_line):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_e9567e05","line":40,"updated":"2015-03-18 18:39:40.000000000","message":"Can you add a few more Okay cases, and a few more variations of the contents of the H010 cases.","commit_id":"6f9672ca8b1b68efb910303e7f9fcf944b120eb1"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"f57ec1690ab94d4fbf29124f79176e9623eaf112","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    H010: # Lic\\n#\\n#\\n#\\n#\\n#\\n#\\n# vim: set tabstop\u003d4 shiftwidth\u003d4\\n#\\n#"},{"line_number":38,"context_line":"    H010: # Lic\\n#\\n#\\n#\\n#\\n#\\n#\\n#\\n# vim: set tabstop\u003d4 shiftwidth\u003d4\\n#"},{"line_number":39,"context_line":"    H010: # Lic\\n#\\n#\\n#\\n#\\n#\\n#\\n#\\n#\\n# vim: set tabstop\u003d4 shiftwidth\u003d4"},{"line_number":40,"context_line":"    Okay: # Lic\\n#\\n#\\n#\\n#\\n#\\n#\\n#"},{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":"    if line_number \u003c\u003d 5 or line_number \u003e len(lines) - 5:"},{"line_number":43,"context_line":"        if vi_header_re.match(physical_line):"}],"source_content_type":"text/x-python","patch_set":9,"id":"dac4157f_195bec2f","line":40,"in_reply_to":"9a80dd14_e9567e05","updated":"2015-04-22 13:41:54.000000000","message":"Done","commit_id":"6f9672ca8b1b68efb910303e7f9fcf944b120eb1"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"63776fe8d016404ffc1d97d202e0f00fa0526caf","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":"    if line_number \u003c\u003d 5 or line_number \u003e len(lines) - 5:"},{"line_number":43,"context_line":"        if vi_header_re.match(physical_line):"},{"line_number":44,"context_line":"            return 0, \"H010: Don\u0027t put vi configuration in source files\""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_6961aed2","line":44,"updated":"2015-03-18 18:39:40.000000000","message":"I think this should be in H1xx","commit_id":"6f9672ca8b1b68efb910303e7f9fcf944b120eb1"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"f57ec1690ab94d4fbf29124f79176e9623eaf112","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    \"\"\""},{"line_number":42,"context_line":"    if line_number \u003c\u003d 5 or line_number \u003e len(lines) - 5:"},{"line_number":43,"context_line":"        if vi_header_re.match(physical_line):"},{"line_number":44,"context_line":"            return 0, \"H010: Don\u0027t put vi configuration in source files\""}],"source_content_type":"text/x-python","patch_set":9,"id":"dac4157f_79754896","line":44,"in_reply_to":"9a80dd14_6961aed2","updated":"2015-04-22 13:41:54.000000000","message":"Done","commit_id":"6f9672ca8b1b68efb910303e7f9fcf944b120eb1"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"bb7290309a9250a2263219d4ecc4d303938767a8","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    \"\"\""},{"line_number":37,"context_line":"    if line_number \u003c\u003d 5 or line_number \u003e len(lines) - 5:"},{"line_number":38,"context_line":"        if vi_header_re.match(physical_line):"},{"line_number":39,"context_line":"            return 0, \"H106: Don\u0027t put vi configuration in source files\""}],"source_content_type":"text/x-python","patch_set":13,"id":"9a0c5dc1_e9d8a31f","line":39,"updated":"2015-05-13 00:13:54.000000000","message":"Nit: These are vim modelines\n\nI don\u0027t think they work in vi.\n\nhttp://vim.wikia.com/wiki/Modeline_magic","commit_id":"5499fff014d02180f83f87d70f28f21cf7c98d05"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"07f19f02c4764e79ba0bfc1f813bde0465fa6c3a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    \"\"\""},{"line_number":37,"context_line":"    if line_number \u003c\u003d 5 or line_number \u003e len(lines) - 5:"},{"line_number":38,"context_line":"        if vi_header_re.match(physical_line):"},{"line_number":39,"context_line":"            return 0, \"H106: Don\u0027t put vi configuration in source files\""}],"source_content_type":"text/x-python","patch_set":13,"id":"7a016987_65bbb9c5","line":39,"in_reply_to":"9a0c5dc1_e9d8a31f","updated":"2015-05-14 22:09:27.000000000","message":"Done: changed all vi to vim","commit_id":"5499fff014d02180f83f87d70f28f21cf7c98d05"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"3f8f68000e5a77b211d11af05e37e8190da134f3","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from hacking import core"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"vi_header_re \u003d re.compile(r\"^#\\s+vim?:.+\")"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"@core.flake8ext"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a016987_52d0501f","line":18,"updated":"2015-05-16 21:24:04.000000000","message":"Shouldn\u0027t this constant be vim as well?","commit_id":"0305c5fe1e53ba805fb0f837b70295aadfb0c9b7"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"203d65428b548ecdb735be34d09220c472527db7","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from hacking import core"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"vi_header_re \u003d re.compile(r\"^#\\s+vim?:.+\")"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"@core.flake8ext"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a016987_59a3d04f","line":18,"in_reply_to":"7a016987_52d0501f","updated":"2015-05-18 00:54:37.000000000","message":"Done","commit_id":"0305c5fe1e53ba805fb0f837b70295aadfb0c9b7"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"3f8f68000e5a77b211d11af05e37e8190da134f3","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    Okay: # viminal hill is located in Rome"},{"line_number":35,"context_line":"    Okay: # vim, ze nemluvis cesky"},{"line_number":36,"context_line":"    \"\"\""},{"line_number":37,"context_line":"    if line_number \u003c\u003d 5 or line_number \u003e len(lines) - 5:"},{"line_number":38,"context_line":"        if vi_header_re.match(physical_line):"},{"line_number":39,"context_line":"            return 0, \"H106: Don\u0027t put vim configuration in source files\""}],"source_content_type":"text/x-python","patch_set":14,"id":"7a016987_32cb9474","line":37,"updated":"2015-05-16 21:24:04.000000000","message":"Unless I\u0027m reading this incorrectly, these two if-statements could be combined into a single one, correct?","commit_id":"0305c5fe1e53ba805fb0f837b70295aadfb0c9b7"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"203d65428b548ecdb735be34d09220c472527db7","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    Okay: # viminal hill is located in Rome"},{"line_number":35,"context_line":"    Okay: # vim, ze nemluvis cesky"},{"line_number":36,"context_line":"    \"\"\""},{"line_number":37,"context_line":"    if line_number \u003c\u003d 5 or line_number \u003e len(lines) - 5:"},{"line_number":38,"context_line":"        if vi_header_re.match(physical_line):"},{"line_number":39,"context_line":"            return 0, \"H106: Don\u0027t put vim configuration in source files\""}],"source_content_type":"text/x-python","patch_set":14,"id":"7a016987_1922f8b9","line":37,"in_reply_to":"7a016987_32cb9474","updated":"2015-05-18 00:54:37.000000000","message":"Done","commit_id":"0305c5fe1e53ba805fb0f837b70295aadfb0c9b7"}],"hacking/core.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"de943bbbd0427dc7d10e2304bb78a43262f59878","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"# Error code block layout"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"# H0xx optional"},{"line_number":53,"context_line":"# H1xx comments"},{"line_number":54,"context_line":"# H20x except"},{"line_number":55,"context_line":"# H23x Python 2.x -\u003e 3.x portability issues"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a961159_abc67747","line":52,"updated":"2014-12-16 22:46:59.000000000","message":"I like it","commit_id":"6a664a7baa3dffbf86cf6d98e73bc9ca973028b8"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"63776fe8d016404ffc1d97d202e0f00fa0526caf","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"# Error code block layout"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"# H0xx optional"},{"line_number":58,"context_line":"# H1xx comments"},{"line_number":59,"context_line":"# H20x except"},{"line_number":60,"context_line":"# H23x Python 2.x -\u003e 3.x portability issues"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_698fee75","line":57,"updated":"2015-03-18 18:39:40.000000000","message":"I don\u0027t think we should have a desperate section for off by default, since we don\u0027t want to rename things of we take it from off by default to on by default do we?","commit_id":"6f9672ca8b1b68efb910303e7f9fcf944b120eb1"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"f57ec1690ab94d4fbf29124f79176e9623eaf112","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"# Error code block layout"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"# H0xx optional"},{"line_number":58,"context_line":"# H1xx comments"},{"line_number":59,"context_line":"# H20x except"},{"line_number":60,"context_line":"# H23x Python 2.x -\u003e 3.x portability issues"}],"source_content_type":"text/x-python","patch_set":9,"id":"dac4157f_1972ccad","line":57,"in_reply_to":"9a80dd14_698fee75","updated":"2015-04-22 13:41:54.000000000","message":"Done","commit_id":"6f9672ca8b1b68efb910303e7f9fcf944b120eb1"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"bb7290309a9250a2263219d4ecc4d303938767a8","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    return f"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"def off_by_default(f):"},{"line_number":49,"context_line":"    f.off_by_default \u003d True"},{"line_number":50,"context_line":"    return f"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9a0c5dc1_6981534a","line":48,"updated":"2015-05-13 00:13:54.000000000","message":"Lets add a docstring here.\n\n  \"\"\"Turn check off by default.\n  \n  Link to flake8 doc on this HERE.\n  Decorator to turn off check by default.\n  To enable the check use the select option in flake8.\n  \"\"\"\n\nI know a lot of other functions here don\u0027t.","commit_id":"5499fff014d02180f83f87d70f28f21cf7c98d05"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"07f19f02c4764e79ba0bfc1f813bde0465fa6c3a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    return f"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"def off_by_default(f):"},{"line_number":49,"context_line":"    f.off_by_default \u003d True"},{"line_number":50,"context_line":"    return f"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7a016987_65bf39d1","line":48,"in_reply_to":"9a0c5dc1_30e6fcb4","updated":"2015-05-14 22:09:27.000000000","message":"How about http://pastebin.com/xUfBvfD8 for the doc update?","commit_id":"5499fff014d02180f83f87d70f28f21cf7c98d05"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"07f19f02c4764e79ba0bfc1f813bde0465fa6c3a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    return f"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"def off_by_default(f):"},{"line_number":49,"context_line":"    f.off_by_default \u003d True"},{"line_number":50,"context_line":"    return f"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7a016987_05cbe554","line":48,"in_reply_to":"9a0c5dc1_6981534a","updated":"2015-05-14 22:09:27.000000000","message":"Done","commit_id":"5499fff014d02180f83f87d70f28f21cf7c98d05"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"ecee0a7e52ffdb3b58d33781ba34e68a863a7f02","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    return f"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"def off_by_default(f):"},{"line_number":49,"context_line":"    f.off_by_default \u003d True"},{"line_number":50,"context_line":"    return f"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"9a0c5dc1_30e6fcb4","line":48,"in_reply_to":"9a0c5dc1_6981534a","updated":"2015-05-13 17:08:44.000000000","message":"Someone needs to add documentation first: https://gitlab.com/pycqa/flake8/issues/24\n\nI\u0027ve been swamped so I\u0027ll merge any PR I get about it.","commit_id":"5499fff014d02180f83f87d70f28f21cf7c98d05"}],"hacking/incubation/checks.py":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"cbb1ddc37b7353390f5563a2b1170e7fe1fb4884","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 IBM Corp."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_264e1170","line":1,"range":{"start_line":1,"start_character":17,"end_line":1,"end_character":20},"updated":"2014-11-12 21:13:43.000000000","message":"Note: While this line is fine, its not technically needed and usually leads to confusion down the road (as more people contribute to this file etc).","commit_id":"f41d4e5b02401a28b7bce40afb4778672f396d34"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"cbb1ddc37b7353390f5563a2b1170e7fe1fb4884","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Guidelines for writing new incubation hacking checks"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":" - These should only be tests that cannot be applied globally immediately"},{"line_number":20,"context_line":" - Pick numbers in the range ??xx.  Fin dthe current test with the"},{"line_number":21,"context_line":"   hightest allocated number and then pick the next value"},{"line_number":22,"context_line":" - Keep the test method code in the source file ordered based"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_865b452d","line":19,"updated":"2014-11-12 21:13:43.000000000","message":"Perhaps say these should be rules that do not have enough consensus behind them yet.\n\nNote, lets not call them tests because that  already means something else (unit tests etc).","commit_id":"f41d4e5b02401a28b7bce40afb4778672f396d34"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"551e4ce3aff2a0fa95f888a90fc8d18d973f6ac1","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Guidelines for writing new incubation hacking checks"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":" - These should only be tests that cannot be applied globally immediately"},{"line_number":20,"context_line":" - Pick numbers in the range ??xx.  Fin dthe current test with the"},{"line_number":21,"context_line":"   hightest allocated number and then pick the next value"},{"line_number":22,"context_line":" - Keep the test method code in the source file ordered based"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_38b2a9e6","line":19,"in_reply_to":"5a890539_865b452d","updated":"2014-11-13 04:29:36.000000000","message":"Done --- removed use of term \u0027test\u0027 and tried to reword to reflect your intent.  Take a look ... note in new location after renaming.","commit_id":"f41d4e5b02401a28b7bce40afb4778672f396d34"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"cbb1ddc37b7353390f5563a2b1170e7fe1fb4884","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Guidelines for writing new incubation hacking checks"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":" - These should only be tests that cannot be applied globally immediately"},{"line_number":20,"context_line":" - Pick numbers in the range ??xx.  Fin dthe current test with the"},{"line_number":21,"context_line":"   hightest allocated number and then pick the next value"},{"line_number":22,"context_line":" - Keep the test method code in the source file ordered based"},{"line_number":23,"context_line":"   on the ??xx value."}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_c63c6dc2","line":20,"range":{"start_line":20,"start_character":2,"end_line":20,"end_character":3},"updated":"2014-11-12 21:13:43.000000000","message":"How about say all rules should be in 10xx?","commit_id":"f41d4e5b02401a28b7bce40afb4778672f396d34"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"551e4ce3aff2a0fa95f888a90fc8d18d973f6ac1","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Guidelines for writing new incubation hacking checks"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":" - These should only be tests that cannot be applied globally immediately"},{"line_number":20,"context_line":" - Pick numbers in the range ??xx.  Fin dthe current test with the"},{"line_number":21,"context_line":"   hightest allocated number and then pick the next value"},{"line_number":22,"context_line":" - Keep the test method code in the source file ordered based"},{"line_number":23,"context_line":"   on the ??xx value."}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_f8de6110","line":20,"in_reply_to":"5a890539_c63c6dc2","updated":"2014-11-13 04:29:36.000000000","message":"I think it needs to be \u003cletter\u003exxx ... so I used Oxxx ... I think we should avoid using H to help indicate they are optional and I think we are limited to 4 characters.  Are we?","commit_id":"f41d4e5b02401a28b7bce40afb4778672f396d34"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"cbb1ddc37b7353390f5563a2b1170e7fe1fb4884","unresolved":false,"context_lines":[{"line_number":21,"context_line":"   hightest allocated number and then pick the next value"},{"line_number":22,"context_line":" - Keep the test method code in the source file ordered based"},{"line_number":23,"context_line":"   on the ??xx value."},{"line_number":24,"context_line":" - List the new rule in the top level HACKING.rst file"},{"line_number":25,"context_line":" - Add test cases for each new rule to ??.py"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_e66249d7","line":24,"range":{"start_line":24,"start_character":2,"end_line":24,"end_character":3},"updated":"2014-11-12 21:13:43.000000000","message":"We should have a separate section in HACKING.rst for these rules.","commit_id":"f41d4e5b02401a28b7bce40afb4778672f396d34"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"cbb1ddc37b7353390f5563a2b1170e7fe1fb4884","unresolved":false,"context_lines":[{"line_number":22,"context_line":" - Keep the test method code in the source file ordered based"},{"line_number":23,"context_line":"   on the ??xx value."},{"line_number":24,"context_line":" - List the new rule in the top level HACKING.rst file"},{"line_number":25,"context_line":" - Add test cases for each new rule to ??.py"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"\"\"\""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_269c51c0","line":25,"range":{"start_line":25,"start_character":2,"end_line":25,"end_character":3},"updated":"2014-11-12 21:13:43.000000000","message":"We use docstring tests right now.","commit_id":"f41d4e5b02401a28b7bce40afb4778672f396d34"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"551e4ce3aff2a0fa95f888a90fc8d18d973f6ac1","unresolved":false,"context_lines":[{"line_number":22,"context_line":" - Keep the test method code in the source file ordered based"},{"line_number":23,"context_line":"   on the ??xx value."},{"line_number":24,"context_line":" - List the new rule in the top level HACKING.rst file"},{"line_number":25,"context_line":" - Add test cases for each new rule to ??.py"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"\"\"\""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_58ecd5c7","line":25,"in_reply_to":"5a890539_269c51c0","updated":"2014-11-13 04:29:36.000000000","message":"I added what I though we needed in tests/checks/optional/test_optional_checks.py ... is that OK?","commit_id":"f41d4e5b02401a28b7bce40afb4778672f396d34"}],"hacking/tests/test_doctest.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"6659066a516dfb3d0d7b9cd2173a0d63ea0c1895","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        _process_entry_point(entry, options)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"#    # Optional checks"},{"line_number":100,"context_line":"#    for entry in checks.get_entry_points():"},{"line_number":101,"context_line":"#        _process_entry_point(entry, options)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    return testscenarios.load_tests_apply_scenarios(loader, tests, pattern)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_a85afd4d","line":100,"updated":"2014-12-16 22:25:15.000000000","message":"Can this commented block be removed?","commit_id":"c170e568de8673b5808d8cb1f7953e7e0d024ad8"},{"author":{"_account_id":6601,"name":"James Carey","email":"jecarey@yerac.com","username":"jecarey"},"change_message_id":"514c46efeb4deb8f6c0587361f59becece2a56e0","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        _process_entry_point(entry, options)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"#    # Optional checks"},{"line_number":100,"context_line":"#    for entry in checks.get_entry_points():"},{"line_number":101,"context_line":"#        _process_entry_point(entry, options)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"    return testscenarios.load_tests_apply_scenarios(loader, tests, pattern)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_4b41930a","line":100,"in_reply_to":"3a961159_a85afd4d","updated":"2014-12-16 22:35:35.000000000","message":"Oops ... yes.   Removed.","commit_id":"c170e568de8673b5808d8cb1f7953e7e0d024ad8"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"26c59fca8b7fd76c279ec8d191de224926832181","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    scenarios \u003d file_cases"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    @mock.patch(\u0027hacking.checks.optional.checks.do_not_run_optional\u0027)"},{"line_number":41,"context_line":"    def test_pep8(self, mock_run_opt):"},{"line_number":42,"context_line":"        # Force all optional checks to be run"},{"line_number":43,"context_line":"        mock_run_opt.return_value \u003d False"}],"source_content_type":"text/x-python","patch_set":8,"id":"da86d52c_89960cef","line":40,"updated":"2015-02-02 23:16:38.000000000","message":"add return_value\u003dFalse here then can remove the line below.","commit_id":"d6ae1569ecd41fe830caa07e7c308dbce47bf976"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"8fcd7b67178ab7a6f5f243839bdc9a2e402c1a81","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        yield (line, match.groups())"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"def _process_entry_point(entry, options):"},{"line_number":74,"context_line":"    if not entry.module_name.startswith(\u0027hacking.\u0027):"},{"line_number":75,"context_line":"        return"},{"line_number":76,"context_line":"    check \u003d entry.load()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a961159_7968ac21","line":73,"updated":"2014-12-18 12:41:47.000000000","message":"this seems unrelated?","commit_id":"d6ae1569ecd41fe830caa07e7c308dbce47bf976"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"63776fe8d016404ffc1d97d202e0f00fa0526caf","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    def test_pep8(self):"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # NOTE(jecarey): Add tests marked as off_by_default to enable testing"},{"line_number":42,"context_line":"        turn_on \u003d set([\u0027H010\u0027])"},{"line_number":43,"context_line":"        if self.options.select:"},{"line_number":44,"context_line":"            turn_on.update(self.options.select)"},{"line_number":45,"context_line":"        self.options.select \u003d tuple(turn_on)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_29c3368b","line":42,"updated":"2015-03-18 18:39:40.000000000","message":"I would prefer to not have to keep a manual list of off by default here","commit_id":"6f9672ca8b1b68efb910303e7f9fcf944b120eb1"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"f57ec1690ab94d4fbf29124f79176e9623eaf112","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    def test_pep8(self):"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # NOTE(jecarey): Add tests marked as off_by_default to enable testing"},{"line_number":42,"context_line":"        turn_on \u003d set([\u0027H010\u0027])"},{"line_number":43,"context_line":"        if self.options.select:"},{"line_number":44,"context_line":"            turn_on.update(self.options.select)"},{"line_number":45,"context_line":"        self.options.select \u003d tuple(turn_on)"}],"source_content_type":"text/x-python","patch_set":9,"id":"dac4157f_0944b918","line":42,"in_reply_to":"9a80dd14_29c3368b","updated":"2015-04-22 13:41:54.000000000","message":"Do you know how to achieve this?","commit_id":"6f9672ca8b1b68efb910303e7f9fcf944b120eb1"}]}
