)]}'
{"HACKING.rst":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"97559e2c6d6f813a9eb0906f90254d2fb7e77f78","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Neutron Specific Commandments"},{"line_number":9,"context_line":"-----------------------------"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"- [N320] Validate that LOG messages, except debug ones, have translations"},{"line_number":12,"context_line":"- [N322] Detect common errors with assert_called_once_with"},{"line_number":13,"context_line":"- [N328] Detect wrong usage with assertEqual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9ff52f3f_08d02bf7","line":10,"updated":"2017-04-13 00:38:13.000000000","message":"Can we add some mention about neutron-lib checks here?\n\nWe now have three types of hacking checks: hacking, neutron-lib and neutron-specific. hacking is clear to all OpenStack developers. I am not sure for neutron-lib ones.\n\nIt also looks good to mention the numbering. There may be a potential conflict between neutron-lib and neutron hacking rules (though there is no real side-effect).","commit_id":"caad52b3650095e76ace9f2b95114045d589612a"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8bca9b32031aedd990675f75720cd46ca9f80aa8","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Neutron Specific Commandments"},{"line_number":9,"context_line":"-----------------------------"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"- [N320] Validate that LOG messages, except debug ones, have translations"},{"line_number":12,"context_line":"- [N322] Detect common errors with assert_called_once_with"},{"line_number":13,"context_line":"- [N328] Detect wrong usage with assertEqual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9ff52f3f_7d6c0036","line":10,"in_reply_to":"9ff52f3f_08d02bf7","updated":"2017-04-13 14:41:31.000000000","message":"Done","commit_id":"caad52b3650095e76ace9f2b95114045d589612a"}],"neutron/hacking/checks.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"97559e2c6d6f813a9eb0906f90254d2fb7e77f78","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    }"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"log_warn \u003d re.compile("},{"line_number":65,"context_line":"    r\"(.)*LOG\\.(warn)\\(\\s*(\u0027|\\\"|_)\")"},{"line_number":66,"context_line":"unittest_imports_dot \u003d re.compile(r\"\\bimport[\\s]+unittest\\b\")"},{"line_number":67,"context_line":"unittest_imports_from \u003d re.compile(r\"\\bfrom[\\s]+unittest\\b\")"},{"line_number":68,"context_line":"filter_match \u003d re.compile(r\".*filter\\(lambda \")"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ff52f3f_48b75388","line":65,"range":{"start_line":64,"start_character":0,"end_line":65,"end_character":36},"updated":"2017-04-13 00:38:13.000000000","message":"This is no longer used.","commit_id":"caad52b3650095e76ace9f2b95114045d589612a"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8bca9b32031aedd990675f75720cd46ca9f80aa8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    }"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"log_warn \u003d re.compile("},{"line_number":65,"context_line":"    r\"(.)*LOG\\.(warn)\\(\\s*(\u0027|\\\"|_)\")"},{"line_number":66,"context_line":"unittest_imports_dot \u003d re.compile(r\"\\bimport[\\s]+unittest\\b\")"},{"line_number":67,"context_line":"unittest_imports_from \u003d re.compile(r\"\\bfrom[\\s]+unittest\\b\")"},{"line_number":68,"context_line":"filter_match \u003d re.compile(r\".*filter\\(lambda \")"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ff52f3f_5d693c23","line":65,"range":{"start_line":64,"start_character":0,"end_line":65,"end_character":36},"in_reply_to":"9ff52f3f_48b75388","updated":"2017-04-13 14:41:31.000000000","message":"Done","commit_id":"caad52b3650095e76ace9f2b95114045d589612a"}]}
