)]}'
{"neutron/db/common_db_mixin.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"5b2fb7fb1c6efe3a71545c3221a4e38b91af94a6","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            if isinstance(query_hook, six.string_types):"},{"line_number":122,"context_line":"                query_hook \u003d getattr(self, query_hook, None)"},{"line_number":123,"context_line":"            if isinstance(query_hook, weakref.ref):"},{"line_number":124,"context_line":"                query_hook \u003d query_hook()"},{"line_number":125,"context_line":"            if query_hook:"},{"line_number":126,"context_line":"                query \u003d query_hook(context, model, query)"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a3c09a3_37861aba","line":124,"updated":"2017-01-12 22:10:56.000000000","message":"Sure","commit_id":"3697916093dcf55b1f52e9df6ed2035c14e17e77"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8f23b98a41f121a9e43a517e898668d2ab4a2509","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            query_hook \u003d hooks.get(\u0027query\u0027)"},{"line_number":121,"context_line":"            if isinstance(query_hook, six.string_types):"},{"line_number":122,"context_line":"                query_hook \u003d getattr(self, query_hook, None)"},{"line_number":123,"context_line":"            if isinstance(query_hook, weakref.ref):"},{"line_number":124,"context_line":"                query_hook \u003d query_hook()"},{"line_number":125,"context_line":"            if query_hook:"},{"line_number":126,"context_line":"                query \u003d query_hook(context, model, query)"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a57fde8_d174e0d0","line":124,"range":{"start_line":123,"start_character":12,"end_line":124,"end_character":41},"updated":"2017-01-12 19:19:23.000000000","message":"this can be made into a util function that returns the function if it\u0027s a weakref, no?","commit_id":"3697916093dcf55b1f52e9df6ed2035c14e17e77"}],"neutron/tests/tools.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"599a5cd2758abef0acecb66dd203c169c50f0a34","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    def _setUp(self):"},{"line_number":126,"context_line":"        self.original_hooks \u003d common_db_mixin.CommonDbMixin._model_query_hooks"},{"line_number":127,"context_line":"        self.addCleanup(self.restore_hooks)"},{"line_number":128,"context_line":"        common_db_mixin.CommonDbMixin._model_query_hooks \u003d copy.copy("},{"line_number":129,"context_line":"            common_db_mixin.CommonDbMixin._model_query_hooks)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def restore_hooks(self):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a461143_4ee9161a","line":128,"updated":"2017-01-26 15:13:31.000000000","message":"if anyone is wondering about the switch here, deepcopy on a dictionary tries to copy the nested objects, which doesn\u0027t work well with the weakrefs. A shallow copy here should be adequate since it\u0027s a dict of strings/function pointers.","commit_id":"faf80b950f4b83f002eddf54403e14700f725478"}],"neutron/tests/unit/objects/test_base.py":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"aa0e1970efc7d71e9b4f031736dfc689c5d461db","unresolved":false,"context_lines":[{"line_number":1244,"context_line":"                           test_db_base_plugin_v2.DbOperationBoundMixin):"},{"line_number":1245,"context_line":"    def setUp(self):"},{"line_number":1246,"context_line":"        super(BaseDbObjectTestCase, self).setUp()"},{"line_number":1247,"context_line":"        self.useFixture(tools.CommonDbMixinHooksFixture())"},{"line_number":1248,"context_line":"        synthetic_fields \u003d self._get_object_synthetic_fields(self._test_class)"},{"line_number":1249,"context_line":"        for synth_field in synthetic_fields:"},{"line_number":1250,"context_line":"            objclass \u003d self._get_ovo_object_class(self._test_class,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a461143_df514b64","side":"PARENT","line":1247,"updated":"2017-01-26 03:40:46.000000000","message":"i think it\u0027s still neat to restore what a test changed after a run, for better isolation among tests.\nhow do you think?","commit_id":"553ab6d86e990c36fbb7385288315d2b15667493"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"d283982bb12670670c1402ccb139af3a67525660","unresolved":false,"context_lines":[{"line_number":1244,"context_line":"                           test_db_base_plugin_v2.DbOperationBoundMixin):"},{"line_number":1245,"context_line":"    def setUp(self):"},{"line_number":1246,"context_line":"        super(BaseDbObjectTestCase, self).setUp()"},{"line_number":1247,"context_line":"        self.useFixture(tools.CommonDbMixinHooksFixture())"},{"line_number":1248,"context_line":"        synthetic_fields \u003d self._get_object_synthetic_fields(self._test_class)"},{"line_number":1249,"context_line":"        for synth_field in synthetic_fields:"},{"line_number":1250,"context_line":"            objclass \u003d self._get_ovo_object_class(self._test_class,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a461143_bf255fc3","side":"PARENT","line":1247,"in_reply_to":"3a461143_df514b64","updated":"2017-01-26 03:54:11.000000000","message":"Yeah, I can leave it around for now. I think Henry has a larger refactor in progress anyway that will reset it at the end of each test.","commit_id":"553ab6d86e990c36fbb7385288315d2b15667493"}]}
