)]}'
{"tempest/cmd/cleanup.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b88c699918e75b36b4ea6f1d6286e859b60e979e","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            # of some extensions being disabled and cleanup is not checking"},{"line_number":112,"context_line":"            # their availability as it tries to clean up as much as possible"},{"line_number":113,"context_line":"            # without any complicated logic"},{"line_number":114,"context_line":"            if \"NotImplemented\" not in ex:"},{"line_number":115,"context_line":"                fail \u003d True"},{"line_number":116,"context_line":"        if fail:"},{"line_number":117,"context_line":"            raise Exception(self.GOT_EXCEPTIONS)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_7c5c5d4a","line":114,"range":{"start_line":114,"start_character":12,"end_line":114,"end_character":42},"updated":"2019-08-06 04:00:27.000000000","message":"Couldn\u0027t this be more robustly implemented as:\n\n    if not isinstance(ex, NotImplementedError):","commit_id":"b268ede4f101d6466834cefb33996f875309f986"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"e07aecadf8531e7e6b87d0d10bf2c8c768942f11","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            # of some extensions being disabled and cleanup is not checking"},{"line_number":112,"context_line":"            # their availability as it tries to clean up as much as possible"},{"line_number":113,"context_line":"            # without any complicated logic"},{"line_number":114,"context_line":"            if \"NotImplemented\" not in ex:"},{"line_number":115,"context_line":"                fail \u003d True"},{"line_number":116,"context_line":"        if fail:"},{"line_number":117,"context_line":"            raise Exception(self.GOT_EXCEPTIONS)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_77cc7688","line":114,"range":{"start_line":114,"start_character":12,"end_line":114,"end_character":42},"in_reply_to":"7faddb67_7c5c5d4a","updated":"2019-08-06 05:20:28.000000000","message":"surly could, thanks!","commit_id":"b268ede4f101d6466834cefb33996f875309f986"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"12f82bbe7a5b1983d775dfa0edf111d2b39f98e8","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            # their availability as it tries to clean up as much as possible"},{"line_number":114,"context_line":"            # without any complicated logic"},{"line_number":115,"context_line":"            if not isinstance(ex, exceptions.NotImplemented):"},{"line_number":116,"context_line":"                fail \u003d True"},{"line_number":117,"context_line":"        if fail:"},{"line_number":118,"context_line":"            raise Exception(self.GOT_EXCEPTIONS)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def init(self, parsed_args):"},{"line_number":121,"context_line":"        cleanup_service.init_conf()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_2af525cb","line":118,"range":{"start_line":116,"start_character":16,"end_line":118,"end_character":48},"updated":"2019-08-06 17:55:34.000000000","message":"1) This doesn\u0027t really matter much, but it is possible to simply raise Exception on L116 immediately. That way, we terminate the for loop as soon as any exception is found.\n\nMeaning:\n\n    if not isinstance(ex, exceptions.NotImplemented):\n        raise Exception(self.GOT_EXCEPTIONS)\n\n2) Thinking further, this can still be improved further. That is because we are raising self.GOT_EXCEPTIONS -- which INCLUDES the NotImplementedError exceptions that we don\u0027t care about, which should be excluded from this list.\n\nSo, perhaps:\n\n   critical_exceptions \u003d []\n   for ex in self.GOT_EXCEPTIONS:\n        if not isinstance(ex, exceptions.NotImplemented):\n            critical_exceptions.append(ex)\n        if critical_exceptions:\n            raise Exception(exceptions)\n\nWhich of course can be reduced further:\n\n     critical_exceptions \u003d [ex for ex in self.GOT_EXCEPTIONS if not isinstance(ex, NotImplementedError)]\n      if critical_exceptions:\n            raise Exception(exceptions)","commit_id":"1e0dbe485bedfa2d6f770cac652188a76f0d1b5e"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"eaa5d14f0b615eb142dc55260f688753aa6e847c","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            # their availability as it tries to clean up as much as possible"},{"line_number":114,"context_line":"            # without any complicated logic"},{"line_number":115,"context_line":"            if not isinstance(ex, exceptions.NotImplemented):"},{"line_number":116,"context_line":"                fail \u003d True"},{"line_number":117,"context_line":"        if fail:"},{"line_number":118,"context_line":"            raise Exception(self.GOT_EXCEPTIONS)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def init(self, parsed_args):"},{"line_number":121,"context_line":"        cleanup_service.init_conf()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_f7c6159a","line":118,"range":{"start_line":116,"start_character":16,"end_line":118,"end_character":48},"in_reply_to":"7faddb67_2a7a0523","updated":"2019-08-06 19:14:25.000000000","message":"Done, thanks, now it looks more Python like.","commit_id":"1e0dbe485bedfa2d6f770cac652188a76f0d1b5e"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"bddb2eb03f8a1ddd07cb18c9c03576e63188f119","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            # their availability as it tries to clean up as much as possible"},{"line_number":114,"context_line":"            # without any complicated logic"},{"line_number":115,"context_line":"            if not isinstance(ex, exceptions.NotImplemented):"},{"line_number":116,"context_line":"                fail \u003d True"},{"line_number":117,"context_line":"        if fail:"},{"line_number":118,"context_line":"            raise Exception(self.GOT_EXCEPTIONS)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def init(self, parsed_args):"},{"line_number":121,"context_line":"        cleanup_service.init_conf()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_2a7a0523","line":118,"range":{"start_line":116,"start_character":16,"end_line":118,"end_character":48},"in_reply_to":"7faddb67_2af525cb","updated":"2019-08-06 17:56:40.000000000","message":"My indent is messed up in the 2nd example, but I think the 3rd example makes it clear.","commit_id":"1e0dbe485bedfa2d6f770cac652188a76f0d1b5e"}]}
