)]}'
{"neutron/services/ovn_l3/plugin.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"499994cc815e227e88d2877de75ec5c1525b96b9","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                except KeyError:"},{"line_number":118,"context_line":"                    pass"},{"line_number":119,"context_line":"            else:"},{"line_number":120,"context_line":"                raise KeyError(drivers)"},{"line_number":121,"context_line":"        return self._mech"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def get_plugin_type(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_f802260b","line":120,"range":{"start_line":120,"start_character":16,"end_line":120,"end_character":39},"updated":"2020-06-30 15:52:31.000000000","message":"Mostly nit but, can you add a helpful message here ?\n\nAsking cause usually KeyError default message is not very helpful since it just prints the parameter passed to it, e.g:\n\nKeyError: (\u0027ovn\u0027, \u0027ovn-sync\u0027)\n\nPerhaps we can even consider raising some generic NotFound exception here.","commit_id":"f1e6df32a4261b32eafd4fabac4b5db71a8aa254"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"86d35f21ef145bec8b693004fc691eb6073beb2e","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                except KeyError:"},{"line_number":118,"context_line":"                    pass"},{"line_number":119,"context_line":"            else:"},{"line_number":120,"context_line":"                raise KeyError(drivers)"},{"line_number":121,"context_line":"        return self._mech"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def get_plugin_type(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_b3e8cf7c","line":120,"range":{"start_line":120,"start_character":16,"end_line":120,"end_character":39},"in_reply_to":"bf51134e_f802260b","updated":"2020-06-30 16:10:09.000000000","message":"Sure and I agree with you. I did add a more helpful message in the initial patch set, but got thrown off by missing translation test failure.\n\nI\u0027ll revisit and see how I can add new string that will hook into the Neutron i18n-system and also check if there are more suitable exceptions.","commit_id":"f1e6df32a4261b32eafd4fabac4b5db71a8aa254"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"27483a142ce45d2f57c48448d34d9cce763e96b9","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                except KeyError:"},{"line_number":120,"context_line":"                    pass"},{"line_number":121,"context_line":"            else:"},{"line_number":122,"context_line":"                raise n_exc.NotFound(_(\u0027None of the supported mechanism \u0027"},{"line_number":123,"context_line":"                                       \u0027drivers ({}) are loaded.\u0027"},{"line_number":124,"context_line":"                                       .format(drivers)))"},{"line_number":125,"context_line":"        return self._mech"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf51134e_ca9dc50b","line":122,"updated":"2020-06-30 20:23:37.000000000","message":"pep8: E1121: Too many positional arguments for constructor call (too-many-function-args)","commit_id":"d1122b26a2057db03da4aba2c34693ea4866117f"}]}
