)]}'
{"HACKING.rst":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"c4c2438e1dab881858e19e5c520e58751e0f86e5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Trove Library Specific Commandments"},{"line_number":2,"context_line":"-------------------------------------"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"- [T101] Validate that LOG messages, except debug ones, are translated"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1a6eadb0_05126762","line":1,"updated":"2016-12-20 12:30:31.000000000","message":"commandments eh?","commit_id":"ad5b8e10fcca1c976d5e68993f89aac3bd9e5e99"}],"trove/hacking/translation_checks.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"d0ad3722965f985b33a8ce3dd04b12aa7714f7d1","unresolved":false,"context_lines":[{"line_number":37,"context_line":"_log_translation_hint \u003d re.compile("},{"line_number":38,"context_line":"    \u0027|\u0027.join(\u0027(?:%s)\u0027 % _regex_for_level(level, hint)"},{"line_number":39,"context_line":"             for level, hint in _all_log_levels.items()))"},{"line_number":40,"context_line":"_log_string_interpolation \u003d re.compile("},{"line_number":41,"context_line":"    r\".*LOG\\.(error|warning|info|critical|exception|debug)\\([^,]*%[^,]*[,)]\")"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def _translation_is_not_expected(filename):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_fdab34d4","line":41,"range":{"start_line":40,"start_character":0,"end_line":41,"end_character":77},"updated":"2016-12-02 21:37:49.000000000","message":"This can be deleted. This is a part of the hacking core project. I deleted the method but forgot to delete this part.","commit_id":"aa75ceade231cd1e6f51a85d7b9dd35ae50caaae"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"78bd2fe7fe34ddacadae13e7079c66d7da37fcc0","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    r\".*LOG\\.(error|warning|info|critical|exception|debug)\\([^,]*%[^,]*[,)]\")"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def _translation_is_not_expected(filename):"},{"line_number":45,"context_line":"    # Do not do these validations on tests"},{"line_number":46,"context_line":"    return any(pat in filename for pat in [\"/tests/\", \"rally-jobs/plugins/\"])"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_275afd4f","line":44,"range":{"start_line":44,"start_character":4,"end_line":44,"end_character":32},"updated":"2016-12-02 21:03:52.000000000","message":"i wonder why they have this; do tests have LOG.\u003csomething\u003e statements?","commit_id":"aa75ceade231cd1e6f51a85d7b9dd35ae50caaae"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"b2d1f9b0d721002735499be7dc0e75f78c977272","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    r\".*LOG\\.(error|warning|info|critical|exception|debug)\\([^,]*%[^,]*[,)]\")"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def _translation_is_not_expected(filename):"},{"line_number":45,"context_line":"    # Do not do these validations on tests"},{"line_number":46,"context_line":"    return any(pat in filename for pat in [\"/tests/\", \"rally-jobs/plugins/\"])"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_8a2af87c","line":44,"range":{"start_line":44,"start_character":4,"end_line":44,"end_character":32},"in_reply_to":"3a71b18c_275afd4f","updated":"2016-12-02 21:19:39.000000000","message":"Tests only have debug LOG statements and those are intentionally skipped. As for why? I don\u0027t know we can remove it but this could be good for developers when they are debugging in the testing directory with something other than the debug log level(no need to see the extra noise)","commit_id":"aa75ceade231cd1e6f51a85d7b9dd35ae50caaae"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"c4c2438e1dab881858e19e5c520e58751e0f86e5","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"def _translation_is_not_expected(filename):"},{"line_number":44,"context_line":"    # Do not do these validations on tests"},{"line_number":45,"context_line":"    return any(pat in filename for pat in [\"/tests/\", \"rally-jobs/plugins/\"])"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"def validate_log_translations(logical_line, physical_line, filename):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a6eadb0_a501b308","line":45,"updated":"2016-12-20 12:30:31.000000000","message":"rally?","commit_id":"ad5b8e10fcca1c976d5e68993f89aac3bd9e5e99"}]}
