)]}'
{"dragonflow/cmd/df_skydive_service.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c16d4b2c0f0237beb5a02a41453f1ee4602176c9","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def _object_update_handler(self, instance):"},{"line_number":87,"context_line":"        # TODO(snapiri) We should first get the old object because we should"},{"line_number":88,"context_line":"        # first delete the old edges and only then update the new ones"},{"line_number":89,"context_line":"        pass"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def _object_delete_handler(self, instance):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f6a8fd7_2b9fff03","line":88,"updated":"2018-04-18 16:18:24.000000000","message":"Maybe add a db_store in a future patch.","commit_id":"e6af6fa7e4c8918c8da09b735422ff17b741913a"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"cb439ae5018618ff61c6fd88ca9cd164256b26ab","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def _object_update_handler(self, instance):"},{"line_number":87,"context_line":"        # TODO(snapiri) We should first get the old object because we should"},{"line_number":88,"context_line":"        # first delete the old edges and only then update the new ones"},{"line_number":89,"context_line":"        pass"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def _object_delete_handler(self, instance):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f6a8fd7_dd6de498","line":88,"in_reply_to":"9f6a8fd7_2b9fff03","updated":"2018-04-18 18:03:46.000000000","message":"Not sure if I should not add it in this patch...","commit_id":"e6af6fa7e4c8918c8da09b735422ff17b741913a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c16d4b2c0f0237beb5a02a41453f1ee4602176c9","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            # TODO(snapiri): Consider deleting all dragonflow objects and"},{"line_number":104,"context_line":"            # re-initializing"},{"line_number":105,"context_line":"            return"},{"line_number":106,"context_line":"        if action in self._update_handlers:"},{"line_number":107,"context_line":"            try:"},{"line_number":108,"context_line":"                model_class \u003d mf.get_model(update.table)"},{"line_number":109,"context_line":"            except KeyError:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f6a8fd7_0bd6bbc4","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":43},"updated":"2018-04-18 16:18:24.000000000","message":"can also be:\ntry:\n    handler \u003d self._update_handlers[action]\nexcept KeyError:\n    LOG\n    return\n\nSaves us the lookup on line 115.","commit_id":"e6af6fa7e4c8918c8da09b735422ff17b741913a"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"cb439ae5018618ff61c6fd88ca9cd164256b26ab","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            # TODO(snapiri): Consider deleting all dragonflow objects and"},{"line_number":104,"context_line":"            # re-initializing"},{"line_number":105,"context_line":"            return"},{"line_number":106,"context_line":"        if action in self._update_handlers:"},{"line_number":107,"context_line":"            try:"},{"line_number":108,"context_line":"                model_class \u003d mf.get_model(update.table)"},{"line_number":109,"context_line":"            except KeyError:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f6a8fd7_7d5db8e7","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":43},"in_reply_to":"9f6a8fd7_0bd6bbc4","updated":"2018-04-18 18:03:46.000000000","message":"Done","commit_id":"e6af6fa7e4c8918c8da09b735422ff17b741913a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c16d4b2c0f0237beb5a02a41453f1ee4602176c9","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    def notification_handler(self, update):"},{"line_number":118,"context_line":"        try:"},{"line_number":119,"context_line":"            self._notification_handler(update)"},{"line_number":120,"context_line":"        except Exception as e:"},{"line_number":121,"context_line":"            LOG.exception(e)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def run(self):"},{"line_number":124,"context_line":"        \"\"\"Start communication with the SkyDive analyzer"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f6a8fd7_6b95f7e3","line":121,"range":{"start_line":120,"start_character":0,"end_line":121,"end_character":28},"updated":"2018-04-18 16:18:24.000000000","message":"LOG.exception already includes exception string (and trace, if TRACE is enabled). Maybe write:\n\nexcpet Exception:\n    LOG.exception(\"Error handling notification\")\n\n?","commit_id":"e6af6fa7e4c8918c8da09b735422ff17b741913a"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"cb439ae5018618ff61c6fd88ca9cd164256b26ab","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    def notification_handler(self, update):"},{"line_number":118,"context_line":"        try:"},{"line_number":119,"context_line":"            self._notification_handler(update)"},{"line_number":120,"context_line":"        except Exception as e:"},{"line_number":121,"context_line":"            LOG.exception(e)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def run(self):"},{"line_number":124,"context_line":"        \"\"\"Start communication with the SkyDive analyzer"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f6a8fd7_1d74bc67","line":121,"range":{"start_line":120,"start_character":0,"end_line":121,"end_character":28},"in_reply_to":"9f6a8fd7_6b95f7e3","updated":"2018-04-18 18:03:46.000000000","message":"Done","commit_id":"e6af6fa7e4c8918c8da09b735422ff17b741913a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c16d4b2c0f0237beb5a02a41453f1ee4602176c9","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    \"\"\"main method\"\"\""},{"line_number":347,"context_line":"    df_config.init(sys.argv)"},{"line_number":348,"context_line":"    df_utils.config_parse()"},{"line_number":349,"context_line":"    # TODO(snapiri) disable pubsub in case it is etcd as it requires"},{"line_number":350,"context_line":"    # monkey_patching"},{"line_number":351,"context_line":"    nb_api \u003d api_nb.NbApi.get_instance(False)"},{"line_number":352,"context_line":"    if is_service:"},{"line_number":353,"context_line":"        df_service.register_service(\u0027df-skydive-service\u0027, nb_api)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f6a8fd7_ab76af05","line":350,"range":{"start_line":349,"start_character":0,"end_line":350,"end_character":21},"updated":"2018-04-18 16:18:24.000000000","message":"Not mandatory - this is a deployment/configuration issue. We rarely verify these, just assume the deployer knows what they\u0027re doing.","commit_id":"e6af6fa7e4c8918c8da09b735422ff17b741913a"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"cb439ae5018618ff61c6fd88ca9cd164256b26ab","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    \"\"\"main method\"\"\""},{"line_number":347,"context_line":"    df_config.init(sys.argv)"},{"line_number":348,"context_line":"    df_utils.config_parse()"},{"line_number":349,"context_line":"    # TODO(snapiri) disable pubsub in case it is etcd as it requires"},{"line_number":350,"context_line":"    # monkey_patching"},{"line_number":351,"context_line":"    nb_api \u003d api_nb.NbApi.get_instance(False)"},{"line_number":352,"context_line":"    if is_service:"},{"line_number":353,"context_line":"        df_service.register_service(\u0027df-skydive-service\u0027, nb_api)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f6a8fd7_fd68e887","line":350,"range":{"start_line":349,"start_character":0,"end_line":350,"end_character":21},"in_reply_to":"9f6a8fd7_ab76af05","updated":"2018-04-18 18:03:46.000000000","message":"OK","commit_id":"e6af6fa7e4c8918c8da09b735422ff17b741913a"}]}
