)]}'
{"neutronclient/shell.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"59c2c63f8b2781ed790bf934e687440ec8e0e402","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                raise"},{"line_number":711,"context_line":"        else:"},{"line_number":712,"context_line":"            try:"},{"line_number":713,"context_line":"                self.clean_up(cmd, result, None)"},{"line_number":714,"context_line":"            except Exception as err3:"},{"line_number":715,"context_line":"                if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":716,"context_line":"                    self.log.exception(unicode(err3))"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_0238489f","side":"PARENT","line":713,"updated":"2014-09-01 16:19:19.000000000","message":"I think it is used to output the debug log to indicate the command succeeds. Is it unnecessary?","commit_id":"98d2135dbdcc0210328db57dbb7c8fbd28f596be"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"76c09e4df9cd668111578ecc718660bb3624f71f","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                raise"},{"line_number":711,"context_line":"        else:"},{"line_number":712,"context_line":"            try:"},{"line_number":713,"context_line":"                self.clean_up(cmd, result, None)"},{"line_number":714,"context_line":"            except Exception as err3:"},{"line_number":715,"context_line":"                if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":716,"context_line":"                    self.log.exception(unicode(err3))"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_e9c86076","side":"PARENT","line":713,"in_reply_to":"fa98f980_0238489f","updated":"2014-09-02 08:40:59.000000000","message":"Done","commit_id":"98d2135dbdcc0210328db57dbb7c8fbd28f596be"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"59c2c63f8b2781ed790bf934e687440ec8e0e402","unresolved":false,"context_lines":[{"line_number":829,"context_line":"        if self.interactive_mode or cmd_name !\u003d \u0027help\u0027:"},{"line_number":830,"context_line":"            self.authenticate_user()"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"    def clean_up(self, cmd, result, err):"},{"line_number":833,"context_line":"        self.log.debug(\u0027clean_up %s\u0027, cmd.__class__.__name__)"},{"line_number":834,"context_line":"        if err:"},{"line_number":835,"context_line":"            self.log.debug(\u0027Got an error: %s\u0027, unicode(err))"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_a2c77c44","side":"PARENT","line":832,"updated":"2014-09-01 16:19:19.000000000","message":"clean_up is now only called once. Is this method needed?\nThis method does just logging. Wrapping this method with try/except around L.697 looks unnecessary.","commit_id":"98d2135dbdcc0210328db57dbb7c8fbd28f596be"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"76c09e4df9cd668111578ecc718660bb3624f71f","unresolved":false,"context_lines":[{"line_number":829,"context_line":"        if self.interactive_mode or cmd_name !\u003d \u0027help\u0027:"},{"line_number":830,"context_line":"            self.authenticate_user()"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"    def clean_up(self, cmd, result, err):"},{"line_number":833,"context_line":"        self.log.debug(\u0027clean_up %s\u0027, cmd.__class__.__name__)"},{"line_number":834,"context_line":"        if err:"},{"line_number":835,"context_line":"            self.log.debug(\u0027Got an error: %s\u0027, unicode(err))"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_29a268ae","side":"PARENT","line":832,"in_reply_to":"fa98f980_a2c77c44","updated":"2014-09-02 08:40:59.000000000","message":"Done","commit_id":"98d2135dbdcc0210328db57dbb7c8fbd28f596be"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"59c2c63f8b2781ed790bf934e687440ec8e0e402","unresolved":false,"context_lines":[{"line_number":830,"context_line":"            self.authenticate_user()"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"    def clean_up(self, cmd, result, err):"},{"line_number":833,"context_line":"        self.log.debug(\u0027clean_up %s\u0027, cmd.__class__.__name__)"},{"line_number":834,"context_line":"        if err:"},{"line_number":835,"context_line":"            self.log.debug(\u0027Got an error: %s\u0027, unicode(err))"},{"line_number":836,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_42833004","side":"PARENT","line":833,"updated":"2014-09-01 16:19:19.000000000","message":"\"clean_up\" in the log message seems meaningless. It would be better to contain more useful information.","commit_id":"98d2135dbdcc0210328db57dbb7c8fbd28f596be"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"76c09e4df9cd668111578ecc718660bb3624f71f","unresolved":false,"context_lines":[{"line_number":830,"context_line":"            self.authenticate_user()"},{"line_number":831,"context_line":""},{"line_number":832,"context_line":"    def clean_up(self, cmd, result, err):"},{"line_number":833,"context_line":"        self.log.debug(\u0027clean_up %s\u0027, cmd.__class__.__name__)"},{"line_number":834,"context_line":"        if err:"},{"line_number":835,"context_line":"            self.log.debug(\u0027Got an error: %s\u0027, unicode(err))"},{"line_number":836,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_49a5ecb3","side":"PARENT","line":833,"in_reply_to":"fa98f980_42833004","updated":"2014-09-02 08:40:59.000000000","message":"Done","commit_id":"98d2135dbdcc0210328db57dbb7c8fbd28f596be"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"59c2c63f8b2781ed790bf934e687440ec8e0e402","unresolved":false,"context_lines":[{"line_number":691,"context_line":"            return run_command(cmd, cmd_parser, sub_argv)"},{"line_number":692,"context_line":"        except Exception as e:"},{"line_number":693,"context_line":"            if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":694,"context_line":"                self.log.exception(unicode(e))"},{"line_number":695,"context_line":"            else:"},{"line_number":696,"context_line":"                self.log.error(unicode(e))"},{"line_number":697,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_4221709e","line":694,"updated":"2014-09-01 16:19:19.000000000","message":"Lazy evaluation for logging is better (though log.exception would be almost always evaluated) and it is the way used throughout in OpenStack codes.\n\n self.log.exception(\"%s\", e)","commit_id":"4b823f854c3ba32343c013fd40363fd0f04115a5"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"76c09e4df9cd668111578ecc718660bb3624f71f","unresolved":false,"context_lines":[{"line_number":691,"context_line":"            return run_command(cmd, cmd_parser, sub_argv)"},{"line_number":692,"context_line":"        except Exception as e:"},{"line_number":693,"context_line":"            if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":694,"context_line":"                self.log.exception(unicode(e))"},{"line_number":695,"context_line":"            else:"},{"line_number":696,"context_line":"                self.log.error(unicode(e))"},{"line_number":697,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_a9e73811","line":694,"in_reply_to":"fa98f980_4221709e","updated":"2014-09-02 08:40:59.000000000","message":"Done","commit_id":"4b823f854c3ba32343c013fd40363fd0f04115a5"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"59c2c63f8b2781ed790bf934e687440ec8e0e402","unresolved":false,"context_lines":[{"line_number":693,"context_line":"            if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":694,"context_line":"                self.log.exception(unicode(e))"},{"line_number":695,"context_line":"            else:"},{"line_number":696,"context_line":"                self.log.error(unicode(e))"},{"line_number":697,"context_line":"            try:"},{"line_number":698,"context_line":"                self.clean_up(cmd, e)"},{"line_number":699,"context_line":"            except Exception as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_e23184ed","line":696,"updated":"2014-09-01 16:19:19.000000000","message":"Ditto","commit_id":"4b823f854c3ba32343c013fd40363fd0f04115a5"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"76c09e4df9cd668111578ecc718660bb3624f71f","unresolved":false,"context_lines":[{"line_number":693,"context_line":"            if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":694,"context_line":"                self.log.exception(unicode(e))"},{"line_number":695,"context_line":"            else:"},{"line_number":696,"context_line":"                self.log.error(unicode(e))"},{"line_number":697,"context_line":"            try:"},{"line_number":698,"context_line":"                self.clean_up(cmd, e)"},{"line_number":699,"context_line":"            except Exception as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_e9f140ce","line":696,"in_reply_to":"fa98f980_e23184ed","updated":"2014-09-02 08:40:59.000000000","message":"Done","commit_id":"4b823f854c3ba32343c013fd40363fd0f04115a5"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"59c2c63f8b2781ed790bf934e687440ec8e0e402","unresolved":false,"context_lines":[{"line_number":696,"context_line":"                self.log.error(unicode(e))"},{"line_number":697,"context_line":"            try:"},{"line_number":698,"context_line":"                self.clean_up(cmd, e)"},{"line_number":699,"context_line":"            except Exception as e:"},{"line_number":700,"context_line":"                if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":701,"context_line":"                    self.log.exception(unicode(e))"},{"line_number":702,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_6204b47b","line":699,"updated":"2014-09-01 16:19:19.000000000","message":"As commented below, is there a case where clean_up raises an exception?","commit_id":"4b823f854c3ba32343c013fd40363fd0f04115a5"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"76c09e4df9cd668111578ecc718660bb3624f71f","unresolved":false,"context_lines":[{"line_number":696,"context_line":"                self.log.error(unicode(e))"},{"line_number":697,"context_line":"            try:"},{"line_number":698,"context_line":"                self.clean_up(cmd, e)"},{"line_number":699,"context_line":"            except Exception as e:"},{"line_number":700,"context_line":"                if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":701,"context_line":"                    self.log.exception(unicode(e))"},{"line_number":702,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_09eda4ef","line":699,"in_reply_to":"fa98f980_6204b47b","updated":"2014-09-02 08:40:59.000000000","message":"Done","commit_id":"4b823f854c3ba32343c013fd40363fd0f04115a5"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"59c2c63f8b2781ed790bf934e687440ec8e0e402","unresolved":false,"context_lines":[{"line_number":700,"context_line":"                if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":701,"context_line":"                    self.log.exception(unicode(e))"},{"line_number":702,"context_line":"                else:"},{"line_number":703,"context_line":"                    self.log.error(_(\u0027Could not clean up: %s\u0027), unicode(e))"},{"line_number":704,"context_line":"            if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":705,"context_line":"                raise"},{"line_number":706,"context_line":"        return 1"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_3f13a967","line":703,"updated":"2014-09-01 16:19:19.000000000","message":"Is unicode required? I think \"e\" is converted with unicode when \"%s\" is evaluated.","commit_id":"4b823f854c3ba32343c013fd40363fd0f04115a5"},{"author":{"_account_id":8895,"name":"Stanislav Kudriashev","email":"stas.kudriashev@gmail.com","username":"skudriashev"},"change_message_id":"76c09e4df9cd668111578ecc718660bb3624f71f","unresolved":false,"context_lines":[{"line_number":700,"context_line":"                if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":701,"context_line":"                    self.log.exception(unicode(e))"},{"line_number":702,"context_line":"                else:"},{"line_number":703,"context_line":"                    self.log.error(_(\u0027Could not clean up: %s\u0027), unicode(e))"},{"line_number":704,"context_line":"            if self.options.verbose_level \u003e\u003d self.DEBUG_LEVEL:"},{"line_number":705,"context_line":"                raise"},{"line_number":706,"context_line":"        return 1"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_29bb48e6","line":703,"in_reply_to":"fa98f980_3f13a967","updated":"2014-09-02 08:40:59.000000000","message":"Done","commit_id":"4b823f854c3ba32343c013fd40363fd0f04115a5"}]}
