)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13562,"name":"Samuel Matzek","email":"smatzek@us.ibm.com","username":"smatzek"},"change_message_id":"358c63367f33eb5667671fdfa57152b5fdebb587","unresolved":false,"context_lines":[{"line_number":7,"context_line":"For Python 3 Common patterns-six string"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Replace basestring with six.string_types and add a hacking rule"},{"line_number":10,"context_line":"to check it.This modification refers to neutron and merge"},{"line_number":11,"context_line":"translation_checks into checks.Follow-up will modify the other"},{"line_number":12,"context_line":"on the python3 common"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3f4b6375_a9a4c0a6","line":10,"range":{"start_line":10,"start_character":11,"end_line":10,"end_character":13},"updated":"2017-11-06 18:43:14.000000000","message":"missing space","commit_id":"506bc73cf163ad5d03e8365f14a4f38ce0ad911b"},{"author":{"_account_id":13562,"name":"Samuel Matzek","email":"smatzek@us.ibm.com","username":"smatzek"},"change_message_id":"358c63367f33eb5667671fdfa57152b5fdebb587","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Replace basestring with six.string_types and add a hacking rule"},{"line_number":10,"context_line":"to check it.This modification refers to neutron and merge"},{"line_number":11,"context_line":"translation_checks into checks.Follow-up will modify the other"},{"line_number":12,"context_line":"on the python3 common"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I66d58ecaf664705660bbeb85058ad3cd092ef82f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3f4b6375_69aa4871","line":11,"range":{"start_line":11,"start_character":30,"end_line":11,"end_character":32},"updated":"2017-11-06 18:43:14.000000000","message":"missing space","commit_id":"506bc73cf163ad5d03e8365f14a4f38ce0ad911b"}],"HACKING.rst":[{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"9510f1da09c50c91e38a471b2cda23b5d72f3808","unresolved":false,"context_lines":[{"line_number":4,"context_line":"- [T101] Validate that LOG messages, except debug ones, are translated"},{"line_number":5,"context_line":"- [T102] Validate that debug level logs are not translated"},{"line_number":6,"context_line":"- [T103] Exception messages should be translated"},{"line_number":7,"context_line":"- [T104] Python 3: do not use basestring"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa31d9ce_d74e7fc0","line":7,"range":{"start_line":7,"start_character":1,"end_line":7,"end_character":40},"updated":"2017-02-10 18:55:20.000000000","message":"Probably want to include the use of `six.string_types` in place of `basestring` so its clear what should be used.","commit_id":"6087e1a854dc969cd77677fb047a9a6140ead940"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"4362fedacb8e8fa957321a983668c2fa8f94e950","unresolved":false,"context_lines":[{"line_number":4,"context_line":"- [T101] Validate that LOG messages, except debug ones, are translated"},{"line_number":5,"context_line":"- [T102] Validate that debug level logs are not translated"},{"line_number":6,"context_line":"- [T103] Exception messages should be translated"},{"line_number":7,"context_line":"- [T104] Python 3: do not use basestring,replace basestring with six.string_types"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_caec11ca","line":7,"range":{"start_line":7,"start_character":9,"end_line":7,"end_character":81},"updated":"2017-03-01 13:45:26.000000000","message":"I think it\u0027s not for Python 3, as Python 3 is not compatible with basestring, so this sentence should be rewritten to be more understandable.","commit_id":"f6470bb1a693511b5d57a847dfc042a4fec27887"},{"author":{"_account_id":25720,"name":"Ngo Quoc Cuong","email":"cuongngo.ict@gmail.com","username":"cuongnq"},"change_message_id":"087c6f9237ade222cbefbdab7f06a046961efa9a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"- [T101] Validate that LOG messages, except debug ones, are translated"},{"line_number":5,"context_line":"- [T102] Validate that debug level logs are not translated"},{"line_number":6,"context_line":"- [T103] Exception messages should be translated"},{"line_number":7,"context_line":"- [T104] Python 3 is not support basestring,replace basestring with six.string_types"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df3967d1_fd466e7c","line":7,"updated":"2017-08-02 09:02:26.000000000","message":"missing space","commit_id":"506bc73cf163ad5d03e8365f14a4f38ce0ad911b"}],"tox.ini":[{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"4362fedacb8e8fa957321a983668c2fa8f94e950","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"[hacking]"},{"line_number":82,"context_line":"import_exceptions \u003d trove.common.i18n"},{"line_number":83,"context_line":"local-check-factory \u003d trove.hacking.translation_checks.factory"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"[testenv:api-ref]"},{"line_number":86,"context_line":"# This environment is called from CI scripts to test and publish"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ba2be162_2adccd11","side":"PARENT","line":83,"range":{"start_line":83,"start_character":36,"end_line":83,"end_character":54},"updated":"2017-03-01 13:45:26.000000000","message":"This renaming should be in a seperate commit I think.","commit_id":"80c1d023489553e02bb4b00fd1604f8fe0ab856e"},{"author":{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},"change_message_id":"2cf15fbf43ba7af16810e8d6a60fc3741666c225","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"[hacking]"},{"line_number":82,"context_line":"import_exceptions \u003d trove.common.i18n"},{"line_number":83,"context_line":"local-check-factory \u003d trove.hacking.translation_checks.factory"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"[testenv:api-ref]"},{"line_number":86,"context_line":"# This environment is called from CI scripts to test and publish"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ba2be162_799213a1","side":"PARENT","line":83,"range":{"start_line":83,"start_character":36,"end_line":83,"end_character":54},"in_reply_to":"ba2be162_2adccd11","updated":"2017-03-01 18:08:15.000000000","message":"maybe,but this actually needs to be built on \"Our project does need py3-related hacking rules\" otherwise it would seem meaningless to feel that the name of the file alone was modified. ..","commit_id":"80c1d023489553e02bb4b00fd1604f8fe0ab856e"}],"trove/hacking/checks.py":[{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"9510f1da09c50c91e38a471b2cda23b5d72f3808","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def check_no_basestring(logical_line):"},{"line_number":108,"context_line":"    \"\"\"T104 - Don\u0027t use basestring.\"\"\""},{"line_number":109,"context_line":"    if re.search(r\"\\bbasestring\\b\", logical_line):"},{"line_number":110,"context_line":"        msg \u003d (\"N326: basestring is not Python3-compatible, use \""},{"line_number":111,"context_line":"               \"six.string_types instead.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa31d9ce_5a49d35e","line":108,"range":{"start_line":108,"start_character":4,"end_line":108,"end_character":38},"updated":"2017-02-10 18:55:20.000000000","message":"Same here","commit_id":"6087e1a854dc969cd77677fb047a9a6140ead940"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"4362fedacb8e8fa957321a983668c2fa8f94e950","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def check_no_basestring(logical_line):"},{"line_number":108,"context_line":"    \"\"\"T104 - Don\u0027t use basestring,use six.string_types instead\"\"\""},{"line_number":109,"context_line":"    if re.search(r\"\\bbasestring\\b\", logical_line):"},{"line_number":110,"context_line":"        msg \u003d (\"T104: basestring is not Python3-compatible, use \""},{"line_number":111,"context_line":"               \"six.string_types instead.\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_6a04057e","line":108,"range":{"start_line":108,"start_character":34,"end_line":108,"end_character":35},"updated":"2017-03-01 13:45:26.000000000","message":"space after comma. Also a more detailed message would be good","commit_id":"f6470bb1a693511b5d57a847dfc042a4fec27887"},{"author":{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},"change_message_id":"2cf15fbf43ba7af16810e8d6a60fc3741666c225","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def check_no_basestring(logical_line):"},{"line_number":108,"context_line":"    \"\"\"T104 - Don\u0027t use basestring,use six.string_types instead\"\"\""},{"line_number":109,"context_line":"    if re.search(r\"\\bbasestring\\b\", logical_line):"},{"line_number":110,"context_line":"        msg \u003d (\"T104: basestring is not Python3-compatible, use \""},{"line_number":111,"context_line":"               \"six.string_types instead.\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_39cedbb4","line":108,"range":{"start_line":108,"start_character":34,"end_line":108,"end_character":35},"in_reply_to":"ba2be162_6a04057e","updated":"2017-03-01 18:08:15.000000000","message":"Good catch, tomorrow will be added here","commit_id":"f6470bb1a693511b5d57a847dfc042a4fec27887"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"4362fedacb8e8fa957321a983668c2fa8f94e950","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def check_no_basestring(logical_line):"},{"line_number":108,"context_line":"    \"\"\"T104 - Don\u0027t use basestring,use six.string_types instead\"\"\""},{"line_number":109,"context_line":"    if re.search(r\"\\bbasestring\\b\", logical_line):"},{"line_number":110,"context_line":"        msg \u003d (\"T104: basestring is not Python3-compatible, use \""},{"line_number":111,"context_line":"               \"six.string_types instead.\")"},{"line_number":112,"context_line":"        yield(0, msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_85ee8a20","line":109,"range":{"start_line":109,"start_character":7,"end_line":109,"end_character":50},"updated":"2017-03-01 13:45:26.000000000","message":"I think it is not the most precise regex for this problem, for example:\n  LOG.debug(\"this basestring is a good one\")","commit_id":"f6470bb1a693511b5d57a847dfc042a4fec27887"},{"author":{"_account_id":22694,"name":"jian.song","email":"jiansong19941206@gmail.com","username":"jiansong"},"change_message_id":"2cf15fbf43ba7af16810e8d6a60fc3741666c225","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def check_no_basestring(logical_line):"},{"line_number":108,"context_line":"    \"\"\"T104 - Don\u0027t use basestring,use six.string_types instead\"\"\""},{"line_number":109,"context_line":"    if re.search(r\"\\bbasestring\\b\", logical_line):"},{"line_number":110,"context_line":"        msg \u003d (\"T104: basestring is not Python3-compatible, use \""},{"line_number":111,"context_line":"               \"six.string_types instead.\")"},{"line_number":112,"context_line":"        yield(0, msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_d92cdf4c","line":109,"range":{"start_line":109,"start_character":7,"end_line":109,"end_character":50},"in_reply_to":"ba2be162_85ee8a20","updated":"2017-03-01 18:08:15.000000000","message":"I need to test this tomorrow, but in fact it is intended to match the type of sixstring use, does not include the string. .. In short, I want to come to the conclusion after tomorrow\u0027s test","commit_id":"f6470bb1a693511b5d57a847dfc042a4fec27887"}],"trove/tests/unittests/hacking/test_check.py":[{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"4362fedacb8e8fa957321a983668c2fa8f94e950","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        self.assertLinePasses(f, \"raise KeyError(\u0027Error text\u0027)\","},{"line_number":89,"context_line":"                              \u0027neutron_lib/tests/unit/mytest.py\u0027)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def test_no_basestring(self):"},{"line_number":92,"context_line":"        self.assertEqual("},{"line_number":93,"context_line":"            1,"},{"line_number":94,"context_line":"            len(list(tc.check_no_basestring(\"isinstance(x, basestring)\"))))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2be162_a5caae9f","line":94,"range":{"start_line":91,"start_character":0,"end_line":94,"end_character":75},"updated":"2017-03-01 13:45:26.000000000","message":"I think the testing should be more detailed with more valid result and some which can be false positive","commit_id":"f6470bb1a693511b5d57a847dfc042a4fec27887"}]}
