)]}'
{"dragonflow/controller/df_local_controller.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"6b62cd64ea4d7fc78b59756470ba4703b6583a06","unresolved":false,"context_lines":[{"line_number":264,"context_line":"                    self.open_flow_app.notify_add_remote_port(lport)"},{"line_number":265,"context_line":"                else:"},{"line_number":266,"context_line":"                    if lport.get_version() \u003c\u003d original_lport.get_version():"},{"line_number":267,"context_line":"                        return"},{"line_number":268,"context_line":"                    LOG.info(_LI(\"Updating remote logical port \u003d %(port)s, \""},{"line_number":269,"context_line":"                                 \"original port \u003d %(original_port)s\") %"},{"line_number":270,"context_line":"                             {\u0027port\u0027: str(lport),"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a95cdbc_577e0be5","line":267,"updated":"2016-10-05 10:53:46.000000000","message":"I think these conditions should be moved to the top of the function.","commit_id":"4453e40adbb8886e855c5da9137e54efe23faa74"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"fe8cebba4ecf3d5173a64cf9e6b1999f3a5d0578","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def _compare_version(self, old_obj, new_obj):"},{"line_number":218,"context_line":"        if new_obj.get_version() \u003e old_obj.get_version():"},{"line_number":219,"context_line":"            LOG.debug(\"updated a new object:%s\", new_obj)"},{"line_number":220,"context_line":"            return True"},{"line_number":221,"context_line":"        return False"},{"line_number":222,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a95cdbc_291d63bd","line":219,"range":{"start_line":219,"start_character":12,"end_line":219,"end_character":57},"updated":"2016-10-06 14:11:20.000000000","message":"I think the logic below is more suitable.\n\nif new_obj.get_version() \u003e old_obj.get_version():\n    return True\nelse:\n    LOG.debug(\"The object to be updated has an old version: %s\", new_obj)\n    return False","commit_id":"89258a46586c25bd4300bad40ed5da5ee3c4e7b9"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"587434a72fe1be38106be25cb66fe05985de1f1d","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def logical_switch_updated(self, lswitch):"},{"line_number":188,"context_line":"        old_lswitch \u003d self.db_store.get_lswitch(lswitch.get_id())"},{"line_number":189,"context_line":"        if old_lswitch and not self._compare_version(old_lswitch, lswitch):"},{"line_number":190,"context_line":"            return"},{"line_number":191,"context_line":"        #Make sure we have a local network_id mapped before we dispatch"},{"line_number":192,"context_line":"        network_id \u003d self.get_network_id("}],"source_content_type":"text/x-python","patch_set":4,"id":"1a95cdbc_4c298b89","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":22},"updated":"2016-10-08 09:36:39.000000000","message":"I think this logic can be in the method _compare_version. Any object is newer than a null object.","commit_id":"7653fdc2c63bff7024ac546ac29520d7b5187d37"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"a86730fc19e4fe6aa5beb236756995f8ab7f2632","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def logical_switch_updated(self, lswitch):"},{"line_number":188,"context_line":"        old_lswitch \u003d self.db_store.get_lswitch(lswitch.get_id())"},{"line_number":189,"context_line":"        if old_lswitch and not self._compare_version(old_lswitch, lswitch):"},{"line_number":190,"context_line":"            return"},{"line_number":191,"context_line":"        #Make sure we have a local network_id mapped before we dispatch"},{"line_number":192,"context_line":"        network_id \u003d self.get_network_id("}],"source_content_type":"text/x-python","patch_set":4,"id":"1a95cdbc_e528a59c","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":22},"in_reply_to":"1a95cdbc_0f25b007","updated":"2016-10-09 06:47:09.000000000","message":"I mean move the if check to the method, for example:\n\n    def _is_valid_version(self, old_obj, new_obj):\n        if not old_obj:\n            return True\n        if new_obj.get_version() \u003e old_obj.get_version():\n            return True\n        LOG.debug(\"The object to be updated has an old version:%s\", new_obj)\n        return False","commit_id":"7653fdc2c63bff7024ac546ac29520d7b5187d37"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"c3a51be3d7b600a15af6b2dad0b66999b632f37b","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def logical_switch_updated(self, lswitch):"},{"line_number":188,"context_line":"        old_lswitch \u003d self.db_store.get_lswitch(lswitch.get_id())"},{"line_number":189,"context_line":"        if old_lswitch and not self._compare_version(old_lswitch, lswitch):"},{"line_number":190,"context_line":"            return"},{"line_number":191,"context_line":"        #Make sure we have a local network_id mapped before we dispatch"},{"line_number":192,"context_line":"        network_id \u003d self.get_network_id("}],"source_content_type":"text/x-python","patch_set":4,"id":"1a95cdbc_0f25b007","line":189,"range":{"start_line":189,"start_character":8,"end_line":189,"end_character":22},"in_reply_to":"1a95cdbc_4c298b89","updated":"2016-10-09 02:19:23.000000000","message":"if old_lswitch is None, it will raise NoneType has no get_version attribute exception.","commit_id":"7653fdc2c63bff7024ac546ac29520d7b5187d37"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"587434a72fe1be38106be25cb66fe05985de1f1d","unresolved":false,"context_lines":[{"line_number":214,"context_line":"            return False"},{"line_number":215,"context_line":"        return True"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def _compare_version(self, old_obj, new_obj):"},{"line_number":218,"context_line":"        if new_obj.get_version() \u003e old_obj.get_version():"},{"line_number":219,"context_line":"            return True"},{"line_number":220,"context_line":"        LOG.debug(\"The object to be updated has an old version:%s\", new_obj)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a95cdbc_4c50ab0b","line":217,"range":{"start_line":217,"start_character":8,"end_line":217,"end_character":24},"updated":"2016-10-08 09:36:39.000000000","message":"nit: this is something should be named to _is_stale_version(or something else) to me, because it returns true/false. The compare function usually returns -1/0/1 in my mind","commit_id":"7653fdc2c63bff7024ac546ac29520d7b5187d37"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"c3a51be3d7b600a15af6b2dad0b66999b632f37b","unresolved":false,"context_lines":[{"line_number":214,"context_line":"            return False"},{"line_number":215,"context_line":"        return True"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def _compare_version(self, old_obj, new_obj):"},{"line_number":218,"context_line":"        if new_obj.get_version() \u003e old_obj.get_version():"},{"line_number":219,"context_line":"            return True"},{"line_number":220,"context_line":"        LOG.debug(\"The object to be updated has an old version:%s\", new_obj)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a95cdbc_6f15549a","line":217,"range":{"start_line":217,"start_character":8,"end_line":217,"end_character":24},"in_reply_to":"1a95cdbc_4c50ab0b","updated":"2016-10-09 02:19:23.000000000","message":"Done","commit_id":"7653fdc2c63bff7024ac546ac29520d7b5187d37"},{"author":{"_account_id":9044,"name":"Will","email":"wangjian.ika@bytedance.com","username":"Will"},"change_message_id":"8e87e68def82bd1a4ef6646efe2091e269ccfd50","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    def _compare_version(self, old_obj, new_obj):"},{"line_number":218,"context_line":"        if new_obj.get_version() \u003e old_obj.get_version():"},{"line_number":219,"context_line":"            return True"},{"line_number":220,"context_line":"        LOG.debug(\"The object to be updated has an old version:%s\", new_obj)"},{"line_number":221,"context_line":"        return False"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def _logical_port_process(self, lport, original_lport\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a95cdbc_94755ffb","line":220,"range":{"start_line":220,"start_character":8,"end_line":220,"end_character":76},"updated":"2016-10-08 03:42:56.000000000","message":"It could be more helpful to debug if the old_obj is logged","commit_id":"7653fdc2c63bff7024ac546ac29520d7b5187d37"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"587434a72fe1be38106be25cb66fe05985de1f1d","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        return False"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def _logical_port_process(self, lport, original_lport\u003dNone):"},{"line_number":224,"context_line":"        if original_lport and not self._compare_version(original_lport, lport):"},{"line_number":225,"context_line":"            return"},{"line_number":226,"context_line":"        chassis \u003d lport.get_chassis()"},{"line_number":227,"context_line":"        local_network_id \u003d self.get_network_id("},{"line_number":228,"context_line":"            lport.get_lswitch_id(),"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a95cdbc_ec3fb7b1","line":225,"range":{"start_line":224,"start_character":0,"end_line":225,"end_character":18},"updated":"2016-10-08 09:36:39.000000000","message":"I think this should be before line 335 to keep consistency with other methods.","commit_id":"7653fdc2c63bff7024ac546ac29520d7b5187d37"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"c3a51be3d7b600a15af6b2dad0b66999b632f37b","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        return False"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def _logical_port_process(self, lport, original_lport\u003dNone):"},{"line_number":224,"context_line":"        if original_lport and not self._compare_version(original_lport, lport):"},{"line_number":225,"context_line":"            return"},{"line_number":226,"context_line":"        chassis \u003d lport.get_chassis()"},{"line_number":227,"context_line":"        local_network_id \u003d self.get_network_id("},{"line_number":228,"context_line":"            lport.get_lswitch_id(),"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a95cdbc_0f6cd033","line":225,"range":{"start_line":224,"start_character":0,"end_line":225,"end_character":18},"in_reply_to":"1a95cdbc_ec3fb7b1","updated":"2016-10-09 02:19:23.000000000","message":"Done","commit_id":"7653fdc2c63bff7024ac546ac29520d7b5187d37"},{"author":{"_account_id":18903,"name":"Yuli","email":"stremovsky@gmail.com","username":"yuli"},"change_message_id":"161d91525a9dbc4feecb53c0c5c9f2becf096675","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    def _is_valid_version(self, old_obj, new_obj):"},{"line_number":218,"context_line":"        if new_obj.get_version() \u003e old_obj.get_version():"},{"line_number":219,"context_line":"            return True"},{"line_number":220,"context_line":"        LOG.debug(\"The object to be updated has an old version:%s\", new_obj)"},{"line_number":221,"context_line":"        return False"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def _logical_port_process(self, lport, original_lport\u003dNone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a95cdbc_0193b7fa","line":220,"range":{"start_line":220,"start_character":62,"end_line":220,"end_character":63},"updated":"2016-10-10 08:36:23.000000000","message":"missing space here","commit_id":"a74e21e692f0f9eeb7d2b5096be22ad0c5cbc5d5"}]}
