)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"6735466241bad4c375146f089476a4a0ad0005bf","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Replaced unicode(ex) with oslo_utils.encodeutils(ex)"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This patch is generated by the following tool using"},{"line_number":15,"context_line":"\u0027basestring\u0027, \u0027long\u0027 and \u0027unicode\u0027 options."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"https://github.com/haypo/sixer"},{"line_number":18,"context_line":"Command:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a5de9d1_00519a0e","line":15,"range":{"start_line":15,"start_character":26,"end_line":15,"end_character":33},"updated":"2016-02-02 10:44:36.000000000","message":"You may mention that you modified manually the code to use oslo_utils.encodeutils(ex) on exceptions.","commit_id":"3b3d249d24794e729c76a9a5a82a8d33794a9b15"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"375e93753a8b19a5a99ececccf86e0d39dcc8a98","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Replaced unicode(ex) with oslo_utils.encodeutils(ex)"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This patch is generated by the following tool using"},{"line_number":15,"context_line":"\u0027basestring\u0027, \u0027long\u0027 and \u0027unicode\u0027 options."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"https://github.com/haypo/sixer"},{"line_number":18,"context_line":"Command:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a5de9d1_80226a00","line":15,"range":{"start_line":15,"start_character":26,"end_line":15,"end_character":33},"in_reply_to":"7a5de9d1_00519a0e","updated":"2016-02-02 10:54:56.000000000","message":"Done","commit_id":"3b3d249d24794e729c76a9a5a82a8d33794a9b15"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"e479d91d8f108a724e8968b31037e222569b3174","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Replaced (int, long) with six.integer_types"},{"line_number":11,"context_line":"Replaced unicode with six.text_type"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Mannualy replaced unicode(ex) with oslo_utils.encodeutils(ex)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch is generated by the following tool using"},{"line_number":16,"context_line":"\u0027basestring\u0027, \u0027long\u0027 and \u0027unicode\u0027 options."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a5de9d1_80d7cabe","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":8},"updated":"2016-02-02 10:52:24.000000000","message":"typo: Manually?","commit_id":"ac6f0201e0bbb8d014183e0fbfdae1121624fa0a"}],"trove/common/extensions.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"eff2affc526658031b7e07640b6bdc58ef325c5a","unresolved":false,"context_lines":[{"line_number":398,"context_line":"            LOG.debug(\u0027Ext updated: %s\u0027, extension.get_updated())"},{"line_number":399,"context_line":"        except AttributeError as ex:"},{"line_number":400,"context_line":"            LOG.exception(_(\"Exception loading extension: %s\"),"},{"line_number":401,"context_line":"                          six.text_type(ex))"},{"line_number":402,"context_line":"            return False"},{"line_number":403,"context_line":"        return True"},{"line_number":404,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_544f9136","line":401,"range":{"start_line":401,"start_character":30,"end_line":401,"end_character":39},"updated":"2016-02-01 12:18:38.000000000","message":"Even if this change is correct, I would prefer to use the safer exception_to_unicode() function of oslo_utils.encodeutils.","commit_id":"adc470f53ef6a0d982ea7297d7dd6cbf6a000cea"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"0e3f81bc315f9eea05154ebc7c45f3393fc5b022","unresolved":false,"context_lines":[{"line_number":398,"context_line":"            LOG.debug(\u0027Ext updated: %s\u0027, extension.get_updated())"},{"line_number":399,"context_line":"        except AttributeError as ex:"},{"line_number":400,"context_line":"            LOG.exception(_(\"Exception loading extension: %s\"),"},{"line_number":401,"context_line":"                          six.text_type(ex))"},{"line_number":402,"context_line":"            return False"},{"line_number":403,"context_line":"        return True"},{"line_number":404,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_4cf29a07","line":401,"range":{"start_line":401,"start_character":30,"end_line":401,"end_character":39},"in_reply_to":"7a5de9d1_544f9136","updated":"2016-02-01 16:11:31.000000000","message":"Done","commit_id":"adc470f53ef6a0d982ea7297d7dd6cbf6a000cea"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"3a58f01b5588412b0af5a2eade1f5bd8c06eac0b","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            LOG.debug(\u0027Ext namespace: %s\u0027, extension.get_namespace())"},{"line_number":400,"context_line":"            LOG.debug(\u0027Ext updated: %s\u0027, extension.get_updated())"},{"line_number":401,"context_line":"        except AttributeError as ex:"},{"line_number":402,"context_line":"            LOG.exception(_(\"Exception loading extension: %s\"),"},{"line_number":403,"context_line":"                          encodeutils.exception_to_unicode(ex))"},{"line_number":404,"context_line":"            return False"},{"line_number":405,"context_line":"        return True"},{"line_number":406,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_e98ee177","line":403,"range":{"start_line":402,"start_character":62,"end_line":403,"end_character":62},"updated":"2016-04-19 11:52:25.000000000","message":"LOG.exception already handles the exception part, so this could have been removed altogether, but no biggie","commit_id":"a56301c237290588b9b62175c67c38e789ea8ede"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"caf49dcecff0c0b72a5a6cd1f84aac316216de86","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            LOG.debug(\u0027Ext namespace: %s\u0027, extension.get_namespace())"},{"line_number":400,"context_line":"            LOG.debug(\u0027Ext updated: %s\u0027, extension.get_updated())"},{"line_number":401,"context_line":"        except AttributeError as ex:"},{"line_number":402,"context_line":"            LOG.exception(_(\"Exception loading extension: %s\"),"},{"line_number":403,"context_line":"                          encodeutils.exception_to_unicode(ex))"},{"line_number":404,"context_line":"            return False"},{"line_number":405,"context_line":"        return True"},{"line_number":406,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_2e6104a9","line":403,"range":{"start_line":402,"start_character":62,"end_line":403,"end_character":62},"in_reply_to":"1a122d0e_057b0bf6","updated":"2016-05-02 15:12:27.000000000","message":"+1 Victor","commit_id":"a56301c237290588b9b62175c67c38e789ea8ede"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"f9ab72043b6e8dc0f4253c3e6fa975638848f8b9","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            LOG.debug(\u0027Ext namespace: %s\u0027, extension.get_namespace())"},{"line_number":400,"context_line":"            LOG.debug(\u0027Ext updated: %s\u0027, extension.get_updated())"},{"line_number":401,"context_line":"        except AttributeError as ex:"},{"line_number":402,"context_line":"            LOG.exception(_(\"Exception loading extension: %s\"),"},{"line_number":403,"context_line":"                          encodeutils.exception_to_unicode(ex))"},{"line_number":404,"context_line":"            return False"},{"line_number":405,"context_line":"        return True"},{"line_number":406,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_ad532338","line":403,"range":{"start_line":402,"start_character":62,"end_line":403,"end_character":62},"in_reply_to":"1a122d0e_6dc3cb89","updated":"2016-04-20 08:35:53.000000000","message":"If I understand correctly your point Victor is that in these patches you want to focus strictly on the python3 effort and not cleanup things that could have been done in general to improve the code. Is that right?","commit_id":"a56301c237290588b9b62175c67c38e789ea8ede"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"2942ef2440ffd964ea86b0327b07b0a32883f3c5","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            LOG.debug(\u0027Ext namespace: %s\u0027, extension.get_namespace())"},{"line_number":400,"context_line":"            LOG.debug(\u0027Ext updated: %s\u0027, extension.get_updated())"},{"line_number":401,"context_line":"        except AttributeError as ex:"},{"line_number":402,"context_line":"            LOG.exception(_(\"Exception loading extension: %s\"),"},{"line_number":403,"context_line":"                          encodeutils.exception_to_unicode(ex))"},{"line_number":404,"context_line":"            return False"},{"line_number":405,"context_line":"        return True"},{"line_number":406,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_057b0bf6","line":403,"range":{"start_line":402,"start_character":62,"end_line":403,"end_character":62},"in_reply_to":"1a122d0e_ad532338","updated":"2016-04-20 09:52:56.000000000","message":"I didn\u0027t write this change :-)\n\nIn Python 3 changes, I suggest to restrict changes to porting code to Python 3. Changing the exception message as proposed by Peter Stachowski is not related to Python 3.\n\nIt\u0027s already hard enough to port code to Python 3. And I prefer to not associate Python 3 to unrelated changes to reduce the risk of regression.","commit_id":"a56301c237290588b9b62175c67c38e789ea8ede"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"cd68a2e89e8ccfc4d8324b12fb5836e2a613e1ce","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            LOG.debug(\u0027Ext namespace: %s\u0027, extension.get_namespace())"},{"line_number":400,"context_line":"            LOG.debug(\u0027Ext updated: %s\u0027, extension.get_updated())"},{"line_number":401,"context_line":"        except AttributeError as ex:"},{"line_number":402,"context_line":"            LOG.exception(_(\"Exception loading extension: %s\"),"},{"line_number":403,"context_line":"                          encodeutils.exception_to_unicode(ex))"},{"line_number":404,"context_line":"            return False"},{"line_number":405,"context_line":"        return True"},{"line_number":406,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_6dc3cb89","line":403,"range":{"start_line":402,"start_character":62,"end_line":403,"end_character":62},"in_reply_to":"1a122d0e_e98ee177","updated":"2016-04-20 08:19:35.000000000","message":"I suggest to not change the behaviour of Trove in patches porting Trove to Python 3.\n\nIf you don\u0027t want to repeat the exception message, I suggest to write a separated change.\n\nIMHO this change is good.","commit_id":"a56301c237290588b9b62175c67c38e789ea8ede"},{"author":{"_account_id":14576,"name":"Petr Malik","email":"pmalik@tesora.com","username":"pmalik"},"change_message_id":"1bfd3bc714c1ff922958c75842210273c4c974b5","unresolved":false,"context_lines":[{"line_number":399,"context_line":"            LOG.debug(\u0027Ext namespace: %s\u0027, extension.get_namespace())"},{"line_number":400,"context_line":"            LOG.debug(\u0027Ext updated: %s\u0027, extension.get_updated())"},{"line_number":401,"context_line":"        except AttributeError as ex:"},{"line_number":402,"context_line":"            LOG.exception(_(\"Exception loading extension: %s\"),"},{"line_number":403,"context_line":"                          encodeutils.exception_to_unicode(ex))"},{"line_number":404,"context_line":"            return False"},{"line_number":405,"context_line":"        return True"},{"line_number":406,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_be0a4b77","line":403,"range":{"start_line":402,"start_character":62,"end_line":403,"end_character":62},"in_reply_to":"1a122d0e_e98ee177","updated":"2016-04-19 16:30:37.000000000","message":"So, you mean, it handles encoding of the exception?","commit_id":"a56301c237290588b9b62175c67c38e789ea8ede"}],"trove/common/wsgi.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"eff2affc526658031b7e07640b6bdc58ef325c5a","unresolved":false,"context_lines":[{"line_number":572,"context_line":"                return resp"},{"line_number":573,"context_line":"            return resp"},{"line_number":574,"context_line":"        except Exception as ex:"},{"line_number":575,"context_line":"            LOG.exception(_(\"Caught error: %s.\"), six.text_type(ex))"},{"line_number":576,"context_line":"            exc \u003d webob.exc.HTTPInternalServerError()"},{"line_number":577,"context_line":"            return Fault(exc)"},{"line_number":578,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_d46141aa","line":575,"updated":"2016-02-01 12:18:38.000000000","message":"again, i suggest exception_to_unicode() here.","commit_id":"adc470f53ef6a0d982ea7297d7dd6cbf6a000cea"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"0e3f81bc315f9eea05154ebc7c45f3393fc5b022","unresolved":false,"context_lines":[{"line_number":572,"context_line":"                return resp"},{"line_number":573,"context_line":"            return resp"},{"line_number":574,"context_line":"        except Exception as ex:"},{"line_number":575,"context_line":"            LOG.exception(_(\"Caught error: %s.\"), six.text_type(ex))"},{"line_number":576,"context_line":"            exc \u003d webob.exc.HTTPInternalServerError()"},{"line_number":577,"context_line":"            return Fault(exc)"},{"line_number":578,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_8cd3b25f","line":575,"in_reply_to":"7a5de9d1_d46141aa","updated":"2016-02-01 16:11:31.000000000","message":"Done","commit_id":"adc470f53ef6a0d982ea7297d7dd6cbf6a000cea"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"3a58f01b5588412b0af5a2eade1f5bd8c06eac0b","unresolved":false,"context_lines":[{"line_number":576,"context_line":"                return resp"},{"line_number":577,"context_line":"            return resp"},{"line_number":578,"context_line":"        except Exception as ex:"},{"line_number":579,"context_line":"            LOG.exception(_(\"Caught error: %s.\"),"},{"line_number":580,"context_line":"                          encodeutils.exception_to_unicode(ex))"},{"line_number":581,"context_line":"            exc \u003d webob.exc.HTTPInternalServerError()"},{"line_number":582,"context_line":"            return Fault(exc)"},{"line_number":583,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_69f13101","line":580,"range":{"start_line":579,"start_character":48,"end_line":580,"end_character":62},"updated":"2016-04-19 11:52:25.000000000","message":"Same, could be removed","commit_id":"a56301c237290588b9b62175c67c38e789ea8ede"}],"trove/guestagent/common/guestagent_utils.py":[{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"eff2affc526658031b7e07640b6bdc58ef325c5a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import collections"},{"line_number":17,"context_line":"import os"},{"line_number":18,"context_line":"import re"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import six"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_b4f5a5ed","line":19,"updated":"2016-02-01 12:18:38.000000000","message":"one empty line is enough","commit_id":"adc470f53ef6a0d982ea7297d7dd6cbf6a000cea"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"0e3f81bc315f9eea05154ebc7c45f3393fc5b022","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import collections"},{"line_number":17,"context_line":"import os"},{"line_number":18,"context_line":"import re"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import six"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_4cc93aab","line":19,"in_reply_to":"7a5de9d1_b4f5a5ed","updated":"2016-02-01 16:11:31.000000000","message":"Done","commit_id":"adc470f53ef6a0d982ea7297d7dd6cbf6a000cea"}],"trove/guestagent/module/driver_manager.py":[{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"3a58f01b5588412b0af5a2eade1f5bd8c06eac0b","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                LOG.info(_(\"Driver \u0027%s\u0027 not supported, skipping\"),"},{"line_number":72,"context_line":"                         driver.get_type)"},{"line_number":73,"context_line":"        except AttributeError as ex:"},{"line_number":74,"context_line":"            LOG.exception(_(\"Exception loading module driver: %s\"),"},{"line_number":75,"context_line":"                          encodeutils.exception_to_unicode(ex))"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        return supported"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_093ebd8b","line":75,"range":{"start_line":74,"start_character":66,"end_line":75,"end_character":62},"updated":"2016-04-19 11:52:25.000000000","message":"ditto, could be removed","commit_id":"a56301c237290588b9b62175c67c38e789ea8ede"}]}
