)]}'
{"neutron/agent/l3/dvr.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"9dfcd5266cf81201ebbb77bd861caf2e09f55db3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def get_ports_by_subnet(self, subnet_id):"},{"line_number":50,"context_line":"        return self.plugin_rpc.get_ports_by_subnet(self.context, subnet_id)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def get_arp_entry_info(self, payload):"},{"line_number":53,"context_line":"        router_id \u003d payload[\u0027router_id\u0027]"},{"line_number":54,"context_line":"        ri \u003d self.router_info.get(router_id)"},{"line_number":55,"context_line":"        if not ri:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_b9930bfa","line":52,"range":{"start_line":52,"start_character":8,"end_line":52,"end_character":26},"updated":"2016-01-12 13:45:31.000000000","message":"please make it private method for clarity (_get_arp_entry_info)","commit_id":"f4ebe3f17eff4d9ec633f0cdb206d53ecd2fef71"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"f6e7be2cfa9910196649c45f8bf630ec65b5e66c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def get_ports_by_subnet(self, subnet_id):"},{"line_number":50,"context_line":"        return self.plugin_rpc.get_ports_by_subnet(self.context, subnet_id)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def get_arp_entry_info(self, payload):"},{"line_number":53,"context_line":"        router_id \u003d payload[\u0027router_id\u0027]"},{"line_number":54,"context_line":"        ri \u003d self.router_info.get(router_id)"},{"line_number":55,"context_line":"        if not ri:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_2eb90aea","line":52,"range":{"start_line":52,"start_character":8,"end_line":52,"end_character":26},"in_reply_to":"da6ed579_b9930bfa","updated":"2016-01-12 14:34:32.000000000","message":"Done","commit_id":"f4ebe3f17eff4d9ec633f0cdb206d53ecd2fef71"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"4a9d84bc8fa0f94fef9421139344e8b8aae47cd1","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def get_ports_by_subnet(self, subnet_id):"},{"line_number":50,"context_line":"        return self.plugin_rpc.get_ports_by_subnet(self.context, subnet_id)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def _get_arp_entry_info(self, payload):"},{"line_number":53,"context_line":"        router_id \u003d payload[\u0027router_id\u0027]"},{"line_number":54,"context_line":"        ri \u003d self.router_info.get(router_id)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_3172cfae","line":52,"range":{"start_line":52,"start_character":8,"end_line":52,"end_character":27},"updated":"2016-01-17 21:31:23.000000000","message":"Why not removing ALL duplicated code?\n\n def _update_arp_entry(self, context, payload, action):\n   router_id \u003d payload[\u0027router_id\u0027]\n   ri \u003d self.router_info.get(router_id)\n   if not ri:\n     return\n\n   arp_table \u003d payload[\u0027arp_table\u0027]\n   ip \u003d arp_table[\u0027ip_address\u0027]\n   mac \u003d arp_table[\u0027mac_address\u0027]\n   subnet_id \u003d arp_table[\u0027subnet_id\u0027]\n   ri.update_arp_entry(ip, mac, subnet_id, action)\n\n def add_arp_entry(self, context, payload):\n   self._update_arp_entry(context,payload, \u0027add\u0027)\n\n ...","commit_id":"8a7a23eebc40daff86ba57bde65a8fbb66894a83"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"612c50f37c8824792033d04b095456b8d2877f02","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def get_ports_by_subnet(self, subnet_id):"},{"line_number":50,"context_line":"        return self.plugin_rpc.get_ports_by_subnet(self.context, subnet_id)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def _get_arp_entry_info(self, payload):"},{"line_number":53,"context_line":"        router_id \u003d payload[\u0027router_id\u0027]"},{"line_number":54,"context_line":"        ri \u003d self.router_info.get(router_id)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_93bdbb04","line":52,"range":{"start_line":52,"start_character":8,"end_line":52,"end_character":27},"in_reply_to":"da6ed579_3172cfae","updated":"2016-01-18 05:00:15.000000000","message":"Thanks, it\u0027s more clear.","commit_id":"8a7a23eebc40daff86ba57bde65a8fbb66894a83"}]}
