)]}'
{"dragonflow/controller/apps/trunk.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"d1ec9d19721095258c1ec86e1ba166183ec9305a","unresolved":false,"context_lines":[{"line_number":380,"context_line":"class TrunkApp(df_base_app.DFlowApp):"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def __init__(self, api, vswitch_api\u003dNone, nb_api\u003dNone,"},{"line_number":383,"context_line":"                 db_change_callback\u003dNone,"},{"line_number":384,"context_line":"                 neutron_server_notifier\u003dNone):"},{"line_number":385,"context_line":"        super(TrunkApp, self).__init__("},{"line_number":386,"context_line":"            api, vswitch_api\u003dvswitch_api,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9f6a8fd7_b5b35c4d","line":383,"updated":"2018-05-02 09:33:15.000000000","message":"Why is this needed?","commit_id":"4234473eeb23318114d416a82b54f53b615be75c"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"df9957296f9164a48ca7f96bc988b73975fdf12e","unresolved":false,"context_lines":[{"line_number":380,"context_line":"class TrunkApp(df_base_app.DFlowApp):"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    def __init__(self, api, vswitch_api\u003dNone, nb_api\u003dNone,"},{"line_number":383,"context_line":"                 db_change_callback\u003dNone,"},{"line_number":384,"context_line":"                 neutron_server_notifier\u003dNone):"},{"line_number":385,"context_line":"        super(TrunkApp, self).__init__("},{"line_number":386,"context_line":"            api, vswitch_api\u003dvswitch_api,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9f6a8fd7_d06cde37","line":383,"in_reply_to":"9f6a8fd7_b5b35c4d","updated":"2018-05-02 10:49:21.000000000","message":"Done","commit_id":"4234473eeb23318114d416a82b54f53b615be75c"}],"dragonflow/controller/df_base_app.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"d1ec9d19721095258c1ec86e1ba166183ec9305a","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class DFlowApp(object):"},{"line_number":36,"context_line":"    def __init__(self, api, vswitch_api\u003dNone, nb_api\u003dNone,"},{"line_number":37,"context_line":"                 db_change_callback\u003dNone,"},{"line_number":38,"context_line":"                 neutron_server_notifier\u003dNone):"},{"line_number":39,"context_line":"        self.api \u003d api"},{"line_number":40,"context_line":"        self.db_store \u003d db_store.get_instance()"}],"source_content_type":"text/x-python","patch_set":25,"id":"9f6a8fd7_15a56804","line":37,"updated":"2018-05-02 09:33:15.000000000","message":"Why is this needed?","commit_id":"4234473eeb23318114d416a82b54f53b615be75c"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"df9957296f9164a48ca7f96bc988b73975fdf12e","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class DFlowApp(object):"},{"line_number":36,"context_line":"    def __init__(self, api, vswitch_api\u003dNone, nb_api\u003dNone,"},{"line_number":37,"context_line":"                 db_change_callback\u003dNone,"},{"line_number":38,"context_line":"                 neutron_server_notifier\u003dNone):"},{"line_number":39,"context_line":"        self.api \u003d api"},{"line_number":40,"context_line":"        self.db_store \u003d db_store.get_instance()"}],"source_content_type":"text/x-python","patch_set":25,"id":"9f6a8fd7_f0f48289","line":37,"in_reply_to":"9f6a8fd7_15a56804","updated":"2018-05-02 10:49:21.000000000","message":"Done","commit_id":"4234473eeb23318114d416a82b54f53b615be75c"}],"dragonflow/db/api_nb.py":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"6af1b66fdc78d37a954d57081bb01cab00ca853c","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                    db_change_callback)"},{"line_number":122,"context_line":"                self.subscriber.register_hamsg_for_db()"},{"line_number":123,"context_line":"            else:"},{"line_number":124,"context_line":"                LOG.warning(\u0027Subscriber is already initialized, ignoring call\u0027)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def close(self):"},{"line_number":127,"context_line":"        if self.publisher:"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f7c97a3_be2078f9","line":124,"range":{"start_line":124,"start_character":16,"end_line":124,"end_character":79},"updated":"2018-05-03 09:38:06.000000000","message":"Is this a case that happens with the regular flow? If not maybe we can throw an error and fail here","commit_id":"edc046d8347c6e16868ee3637422ff2ba422d35e"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"66864c3879c35b616eb9541c675d4d2e1f8436a6","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                    db_change_callback)"},{"line_number":122,"context_line":"                self.subscriber.register_hamsg_for_db()"},{"line_number":123,"context_line":"            else:"},{"line_number":124,"context_line":"                LOG.warning(\u0027Subscriber is already initialized, ignoring call\u0027)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def close(self):"},{"line_number":127,"context_line":"        if self.publisher:"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f7c97a3_e18e51cf","line":124,"range":{"start_line":124,"start_character":16,"end_line":124,"end_character":79},"in_reply_to":"5f7c97a3_be2078f9","updated":"2018-05-03 10:32:37.000000000","message":"This should not happen in regular flow, or even at all.\nThe subscriber should be initialized only once.\nAs it is not a critical issue if it happens, but rather will cause unexpected behavior I decided to log a warning (I can change to error if you think it is better) and not fail totally.","commit_id":"edc046d8347c6e16868ee3637422ff2ba422d35e"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"7dacde800c995064b79275b2e468c4b092bd215c","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                    db_change_callback)"},{"line_number":122,"context_line":"                self.subscriber.register_hamsg_for_db()"},{"line_number":123,"context_line":"            else:"},{"line_number":124,"context_line":"                LOG.warning(\u0027Subscriber is already initialized, ignoring call\u0027)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def close(self):"},{"line_number":127,"context_line":"        if self.publisher:"}],"source_content_type":"text/x-python","patch_set":28,"id":"5f7c97a3_416ce507","line":124,"range":{"start_line":124,"start_character":16,"end_line":124,"end_character":79},"in_reply_to":"5f7c97a3_e18e51cf","updated":"2018-05-03 10:34:25.000000000","message":"Only if you get to respin it","commit_id":"edc046d8347c6e16868ee3637422ff2ba422d35e"}],"dragonflow/tests/fullstack/test_pub_sub.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"d1ec9d19721095258c1ec86e1ba166183ec9305a","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        self._stop_publisher(self.publisher)"},{"line_number":385,"context_line":"        super(TestDbTableMonitors, self).tearDown()"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"    def __db_change_callback(self, table, key, action, value, topic):"},{"line_number":388,"context_line":"        self.namespace.events.append({"},{"line_number":389,"context_line":"            \u0027table\u0027: table,"},{"line_number":390,"context_line":"            \u0027key\u0027: key,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9f6a8fd7_95e65844","line":387,"range":{"start_line":387,"start_character":8,"end_line":387,"end_character":28},"updated":"2018-05-02 09:33:15.000000000","message":"This is going to be confusing in the future. Maybe a different name?\n\ne.g. _pubsub_change_callback ?","commit_id":"4234473eeb23318114d416a82b54f53b615be75c"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"df9957296f9164a48ca7f96bc988b73975fdf12e","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        self._stop_publisher(self.publisher)"},{"line_number":385,"context_line":"        super(TestDbTableMonitors, self).tearDown()"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"    def __db_change_callback(self, table, key, action, value, topic):"},{"line_number":388,"context_line":"        self.namespace.events.append({"},{"line_number":389,"context_line":"            \u0027table\u0027: table,"},{"line_number":390,"context_line":"            \u0027key\u0027: key,"}],"source_content_type":"text/x-python","patch_set":25,"id":"9f6a8fd7_50b8cec6","line":387,"range":{"start_line":387,"start_character":8,"end_line":387,"end_character":28},"in_reply_to":"9f6a8fd7_95e65844","updated":"2018-05-02 10:49:21.000000000","message":"Done","commit_id":"4234473eeb23318114d416a82b54f53b615be75c"}]}
