)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"6a5eb189ddadf30f6df1e1bf8a630b120a90c482","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cyril Roelandt \u003ccyril@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-06-22 10:32:46 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Python3: use itertools.zip instead of itertools.izip"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The latter does not exist in Python 3. The performance impact in Python 2"},{"line_number":10,"context_line":"should be negligible."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_4bc3df57","line":7,"updated":"2015-06-22 15:19:08.000000000","message":"itertools.zip exists in py2K and py3k? It seems you should use builtin zip","commit_id":"f4bf289a96e50769991e478e5548732633e93408"}],"neutron/scheduler/l3_agent_scheduler.py":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"f4d7f8ba952556334441f61ad42c9a2ba0cf9354","unresolved":false,"context_lines":[{"line_number":329,"context_line":"        port_bindings \u003d plugin.get_ha_router_port_bindings(context,"},{"line_number":330,"context_line":"                                                           [router_id])"},{"line_number":331,"context_line":"        for port_binding, agent in itertools.zip(port_bindings,"},{"line_number":332,"context_line":"                                                  chosen_agents):"},{"line_number":333,"context_line":"            port_binding.l3_agent_id \u003d agent.id"},{"line_number":334,"context_line":"            self.bind_router(context, router_id, agent)"},{"line_number":335,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_938f20cc","line":332,"updated":"2015-06-19 14:38:05.000000000","message":"indentation problem?","commit_id":"b703eade73d9d517c346fa7673b9409a139f81e4"}],"neutron/tests/unit/extensions/test_external_net.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"9bd5232d04e34c48b047a00a7157543b66143117","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        \"\"\"Override the routine for allowing the router:external attribute.\"\"\""},{"line_number":54,"context_line":"        # attributes containing a colon should be passed with"},{"line_number":55,"context_line":"        # a double underscore"},{"line_number":56,"context_line":"        new_args \u003d dict(itertools.zip(map(lambda x: x.replace(\u0027__\u0027, \u0027:\u0027),"},{"line_number":57,"context_line":"                                           kwargs),"},{"line_number":58,"context_line":"                                       kwargs.values()))"},{"line_number":59,"context_line":"        arg_list \u003d new_args.pop(\u0027arg_list\u0027, ()) + (external_net.EXTERNAL,)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_09bbb80f","line":56,"updated":"2015-06-22 07:33:49.000000000","message":"This whole line is awful to understand. Can you just replace it with a dict comprehension?\n\nnew_args \u003d {k.replace(\u0027__\u0027, \u0027:\u0027): v for k, v in kwargs.items()}","commit_id":"b703eade73d9d517c346fa7673b9409a139f81e4"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"6ee49e522c0b24ec4f908eb659801be67f969df7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        \"\"\"Override the routine for allowing the router:external attribute.\"\"\""},{"line_number":54,"context_line":"        # attributes containing a colon should be passed with"},{"line_number":55,"context_line":"        # a double underscore"},{"line_number":56,"context_line":"        new_args \u003d dict(itertools.zip(map(lambda x: x.replace(\u0027__\u0027, \u0027:\u0027),"},{"line_number":57,"context_line":"                                           kwargs),"},{"line_number":58,"context_line":"                                       kwargs.values()))"},{"line_number":59,"context_line":"        arg_list \u003d new_args.pop(\u0027arg_list\u0027, ()) + (external_net.EXTERNAL,)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_c2be05d4","line":56,"in_reply_to":"fa32b979_09bbb80f","updated":"2015-06-22 08:51:22.000000000","message":"+1","commit_id":"b703eade73d9d517c346fa7673b9409a139f81e4"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"f4d7f8ba952556334441f61ad42c9a2ba0cf9354","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        # attributes containing a colon should be passed with"},{"line_number":55,"context_line":"        # a double underscore"},{"line_number":56,"context_line":"        new_args \u003d dict(itertools.zip(map(lambda x: x.replace(\u0027__\u0027, \u0027:\u0027),"},{"line_number":57,"context_line":"                                           kwargs),"},{"line_number":58,"context_line":"                                       kwargs.values()))"},{"line_number":59,"context_line":"        arg_list \u003d new_args.pop(\u0027arg_list\u0027, ()) + (external_net.EXTERNAL,)"},{"line_number":60,"context_line":"        return super(ExtNetDBTestCase, self)._create_network("}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_73a93c24","line":57,"updated":"2015-06-19 14:38:05.000000000","message":"ditto","commit_id":"b703eade73d9d517c346fa7673b9409a139f81e4"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"8958d321dad3c534cbaf0219ec5138134e6331ea","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \"\"\"Override the routine for allowing the router:external attribute.\"\"\""},{"line_number":52,"context_line":"        # attributes containing a colon should be passed with"},{"line_number":53,"context_line":"        # a double underscore"},{"line_number":54,"context_line":"        new_args \u003d dict(zip(map(lambda x: x.replace(\u0027__\u0027, \u0027:\u0027), kwargs),"},{"line_number":55,"context_line":"                            kwargs.values()))"},{"line_number":56,"context_line":"        arg_list \u003d new_args.pop(\u0027arg_list\u0027, ()) + (external_net.EXTERNAL,)"},{"line_number":57,"context_line":"        return super(ExtNetDBTestCase, self)._create_network("}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_82141644","line":54,"updated":"2015-06-24 03:48:29.000000000","message":"This is still ugly but I guess refactoring it to a comprehension could be considered out of scope for this change.","commit_id":"ad86291408fc74827c2bd31f89a2dce34f887823"}]}
