)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"4bd1aebab2c6f884af985059d25fc651f3558989","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch is a fix for the issue B101 assert_used found by bandit"},{"line_number":10,"context_line":"scanner."},{"line_number":11,"context_line":"As assert functionality could be turned off by the -O option for python"},{"line_number":12,"context_line":"interpreter, assert statements were replaced to raise AssertionError."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The main reasoning for that is rest code after assert could be not"},{"line_number":15,"context_line":"ready for values that assert filters."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bf659307_af4f9868","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":11},"updated":"2018-04-09 16:55:22.000000000","message":"Optional suggestion: why not add a reference to the corresponding bandit documentation: https://docs.openstack.org/bandit/latest/plugins/b101_assert_used.html","commit_id":"8f1a5eb50c10303f365c017d2c59a50daa51d782"}],"neutron/common/_deprecate.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"3e9eba110b4f193867a2ce9044e8025feced2cab","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    :type new_name: str"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    \"\"\""},{"line_number":160,"context_line":"    if not (new_module or new_name):  # One or both must be new"},{"line_number":161,"context_line":"        raise AssertionError(\"\u0027new_module\u0027 or \u0027new_name\u0027 must not be None\")"},{"line_number":162,"context_line":"    if isinstance(new_module, _MovedGlobals):"},{"line_number":163,"context_line":"        # The new module has been shimmed, get the original"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_20609c32","line":160,"range":{"start_line":160,"start_character":38,"end_line":160,"end_character":63},"updated":"2018-04-06 20:08:38.000000000","message":"nit: I think that this comment is not necessary now when we have proper error message in AssertionError","commit_id":"5acfbdb741cfad55bdf64db00967bbed9fc1be41"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"4bd1aebab2c6f884af985059d25fc651f3558989","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    \"\"\""},{"line_number":160,"context_line":"    if not (new_module or new_name):"},{"line_number":161,"context_line":"        raise AssertionError(\"\u0027new_module\u0027 or \u0027new_name\u0027 must not be None\")"},{"line_number":162,"context_line":"    if isinstance(new_module, _MovedGlobals):"},{"line_number":163,"context_line":"        # The new module has been shimmed, get the original"},{"line_number":164,"context_line":"        new_module \u003d new_module._mg__old_ref"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf659307_7cecdc8e","line":161,"range":{"start_line":161,"start_character":31,"end_line":161,"end_character":74},"updated":"2018-04-09 16:55:22.000000000","message":"The original assertion raises and AssertionError if both are None. So the correct message here should be something like:\n\n\"\u0027new_module\u0027 and \u0027new_name\u0027 must not be both None\"","commit_id":"8f1a5eb50c10303f365c017d2c59a50daa51d782"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ed7aa78c866d76ce294040e4b9f4eb8620bb7249","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    \"\"\""},{"line_number":160,"context_line":"    if not (new_module or new_name):"},{"line_number":161,"context_line":"        raise AssertionError(\"\u0027new_module\u0027 and \u0027new_name\u0027 \""},{"line_number":162,"context_line":"                             \"must not be both None\")"},{"line_number":163,"context_line":"    if isinstance(new_module, _MovedGlobals):"},{"line_number":164,"context_line":"        # The new module has been shimmed, get the original"},{"line_number":165,"context_line":"        new_module \u003d new_module._mg__old_ref"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf659307_fd4bed83","line":162,"updated":"2018-04-10 15:10:41.000000000","message":"sounds like Yoda, but works for me :)","commit_id":"6e6166bda47bd1fc8687340e479a913e7fc0ed58"}],"neutron/db/api.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"fb1e8b499c86379e225aa90a4b3890e5aeb929c5","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            if relationship_attr.key not in state.dict:"},{"line_number":284,"context_line":"                getattr(new_object, relationship_attr.key)"},{"line_number":285,"context_line":"                if relationship_attr.key not in state.dict:"},{"line_number":286,"context_line":"                    msg \u003d \"Relationship %s attributes must be loaded in db\" \\"},{"line_number":287,"context_line":"                          \" object %s\" % (relationship_attr.key, state.dict)"},{"line_number":288,"context_line":"                    raise AssertionError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_fcf68163","line":286,"range":{"start_line":286,"start_character":76,"end_line":286,"end_character":77},"updated":"2018-03-28 21:21:37.000000000","message":"Please put the message in parens (\"...\") so you don\u0027t need the backslash.","commit_id":"a900960e23886079ac6497ff67688e54844c99df"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"fb1e8b499c86379e225aa90a4b3890e5aeb929c5","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            if relationship_attr.key not in state.dict:"},{"line_number":284,"context_line":"                getattr(new_object, relationship_attr.key)"},{"line_number":285,"context_line":"                if relationship_attr.key not in state.dict:"},{"line_number":286,"context_line":"                    msg \u003d \"Relationship %s attributes must be loaded in db\" \\"},{"line_number":287,"context_line":"                          \" object %s\" % (relationship_attr.key, state.dict)"},{"line_number":288,"context_line":"                    raise AssertionError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_fccd2131","line":286,"range":{"start_line":286,"start_character":40,"end_line":286,"end_character":53},"updated":"2018-03-28 21:21:37.000000000","message":"s/attribute %s","commit_id":"a900960e23886079ac6497ff67688e54844c99df"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8d9eb7977cb0c733329f71711e4292cac4fb4eda","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            if relationship_attr.key not in state.dict:"},{"line_number":284,"context_line":"                getattr(new_object, relationship_attr.key)"},{"line_number":285,"context_line":"                if relationship_attr.key not in state.dict:"},{"line_number":286,"context_line":"                    msg \u003d \"Relationship %s attributes must be loaded in db\" \\"},{"line_number":287,"context_line":"                          \" object %s\" % (relationship_attr.key, state.dict)"},{"line_number":288,"context_line":"                    raise AssertionError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_e7873761","line":286,"range":{"start_line":286,"start_character":76,"end_line":286,"end_character":77},"in_reply_to":"bf659307_f4a4c3bb","updated":"2018-04-05 15:15:45.000000000","message":"Max - something like this:\n\nmsg \u003d (\"Relationship attributes %s must be loaded in db \"\n       \"object %s\" % (...))","commit_id":"a900960e23886079ac6497ff67688e54844c99df"},{"author":{"_account_id":27530,"name":"Max Pavlukhin","email":"pavlukhinm@gmail.com","username":"maxpavlukhin"},"change_message_id":"fa7ff8cd1b0d14b7e8d3c340aa2a04fedab8be9a","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            if relationship_attr.key not in state.dict:"},{"line_number":284,"context_line":"                getattr(new_object, relationship_attr.key)"},{"line_number":285,"context_line":"                if relationship_attr.key not in state.dict:"},{"line_number":286,"context_line":"                    msg \u003d \"Relationship %s attributes must be loaded in db\" \\"},{"line_number":287,"context_line":"                          \" object %s\" % (relationship_attr.key, state.dict)"},{"line_number":288,"context_line":"                    raise AssertionError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_f4a4c3bb","line":286,"range":{"start_line":286,"start_character":76,"end_line":286,"end_character":77},"in_reply_to":"bf659307_fcf68163","updated":"2018-04-05 14:47:10.000000000","message":"I don\u0027t quite understand your two comments in this file. Explain me again please. It will be cool if you write the code you want to see. Thank you Brian!","commit_id":"a900960e23886079ac6497ff67688e54844c99df"}],"neutron/pecan_wsgi/controllers/root.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"3e9eba110b4f193867a2ce9044e8025feced2cab","unresolved":false,"context_lines":[{"line_number":44,"context_line":"def _load_version_info(version_info):"},{"line_number":45,"context_line":"    if version_info[\u0027id\u0027] in _VERSION_INFO:"},{"line_number":46,"context_line":"        raise AssertionError(\"ID %s must not be in\""},{"line_number":47,"context_line":"                             \" VERSION_INFO\" % version_info[\u0027id\u0027])"},{"line_number":48,"context_line":"    _VERSION_INFO[version_info[\u0027id\u0027]] \u003d version_info"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_a04b4cae","line":47,"range":{"start_line":47,"start_character":30,"end_line":47,"end_character":31},"updated":"2018-04-06 20:08:38.000000000","message":"nit: usually this space should be as last char in line above","commit_id":"5acfbdb741cfad55bdf64db00967bbed9fc1be41"}]}
