)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"095ae8ae2434c88cd0aeb9282f99e6c227f5303a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     llg8212 \u003clilinguo@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-02-19 14:16:58 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"replace dict.keys() with list(dict)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Partial Implement: blueprint tempest-py33-support"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAUX%2F%2BxGk%3D","line":7,"updated":"2014-02-19 07:17:41.000000000","message":"Please explain (or attach a link) the difference between \"view\" and list for a simple dict iteration.\nAFAIK - using views is more efficient for simple dict iteration.\n\nalso\n\"for k in dict:\" is the same as \"for k in dict.keys():\"\nWhy convert it explicitly to list?","commit_id":"e5b681b63bcd770d4a0004a430edfc1f36d09265"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"ff985274ae7a7e1530b6e9c0e37412cd6c8c4b6e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     llg8212 \u003clilinguo@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-02-19 14:16:58 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"replace dict.keys() with list(dict)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Partial Implement: blueprint tempest-py33-support"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAUX%2F%2BupM%3D","line":7,"in_reply_to":"AAAAUX%2F%2Bw50%3D","updated":"2014-02-19 14:40:49.000000000","message":"I now it isn\u0027t - looks like it\u0027s a more efficient way to iterate over keys.\nwhy would you want to force it to use a list if it\u0027s less efficient","commit_id":"e5b681b63bcd770d4a0004a430edfc1f36d09265"},{"author":{"_account_id":9560,"name":"Lee Li","email":"lilinguo8212@gmail.com","username":"llg8212"},"change_message_id":"e713aedd6c3939d4cfac6295a10fe1016c48d8e2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     llg8212 \u003clilinguo@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-02-19 14:16:58 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"replace dict.keys() with list(dict)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Partial Implement: blueprint tempest-py33-support"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAUX%2F%2Bw50%3D","line":7,"in_reply_to":"AAAAUX%2F%2BxGk%3D","updated":"2014-02-19 07:56:06.000000000","message":"dict.keys() is not a list in python33.The bp is to \u0027Enable py33 voting in jenkins gating\u0027.\nhttp://git.oschina.net/openstack/python-novaclient/commit/e1dcf8f9822e5f682ffbbceab73d5d7fbc142488.","commit_id":"e5b681b63bcd770d4a0004a430edfc1f36d09265"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c532c61b0776b95a034ca664a64b6388e12586ad","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2014-02-20 16:42:38 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"replace dict.keys() with list(dict)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Partial Implement: blueprint tempest-py33-support"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I52165802d568bd833107c72620eb5414b1e60fe5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUX%2F%2BmUg%3D","line":8,"updated":"2014-02-20 09:28:04.000000000","message":"please add a short description (or a link for it) of the difference between these two forms, so people can better understand why you change it in some places and leave it the same in others.\n\nOr you could do that in the bp page. either way is good, and It will help you get a more productive review.","commit_id":"0ad9c5f4aa137c966dd6bc76a46143a82cd0a43c"}],"tempest/scenario/test_cross_tenant_connectivity.py":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"095ae8ae2434c88cd0aeb9282f99e6c227f5303a","unresolved":false,"context_lines":[{"line_number":475,"context_line":"    @services(\u0027compute\u0027, \u0027network\u0027)"},{"line_number":476,"context_line":"    def test_cross_tenant_traffic(self):"},{"line_number":477,"context_line":"        try:"},{"line_number":478,"context_line":"            for tenant_id in list(self.tenants):"},{"line_number":479,"context_line":"                self._deploy_tenant(tenant_id)"},{"line_number":480,"context_line":"                self._verify_network_details(self.tenants[tenant_id])"},{"line_number":481,"context_line":"                self._verify_mac_addr(self.tenants[tenant_id])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2BxFU%3D","line":478,"updated":"2014-02-19 07:17:41.000000000","message":"why not simply:\nfor tenant_id in self.tenants:\n\n?","commit_id":"e5b681b63bcd770d4a0004a430edfc1f36d09265"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"ff985274ae7a7e1530b6e9c0e37412cd6c8c4b6e","unresolved":false,"context_lines":[{"line_number":475,"context_line":"    @services(\u0027compute\u0027, \u0027network\u0027)"},{"line_number":476,"context_line":"    def test_cross_tenant_traffic(self):"},{"line_number":477,"context_line":"        try:"},{"line_number":478,"context_line":"            for tenant_id in list(self.tenants):"},{"line_number":479,"context_line":"                self._deploy_tenant(tenant_id)"},{"line_number":480,"context_line":"                self._verify_network_details(self.tenants[tenant_id])"},{"line_number":481,"context_line":"                self._verify_mac_addr(self.tenants[tenant_id])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2Bunc%3D","line":478,"in_reply_to":"AAAAUX%2F%2Bw44%3D","updated":"2014-02-19 14:40:49.000000000","message":"\"for k in dict\" is equivalent to \"for k in dict.keys()\".\nin python2 it\u0027s a list of keys\nin python3 it\u0027s a view of keys - more efficient but the same functionality.\n\nUnless you need a COPY of a list of keys, why not leave it the way it is?","commit_id":"e5b681b63bcd770d4a0004a430edfc1f36d09265"},{"author":{"_account_id":9560,"name":"Lee Li","email":"lilinguo8212@gmail.com","username":"llg8212"},"change_message_id":"e713aedd6c3939d4cfac6295a10fe1016c48d8e2","unresolved":false,"context_lines":[{"line_number":475,"context_line":"    @services(\u0027compute\u0027, \u0027network\u0027)"},{"line_number":476,"context_line":"    def test_cross_tenant_traffic(self):"},{"line_number":477,"context_line":"        try:"},{"line_number":478,"context_line":"            for tenant_id in list(self.tenants):"},{"line_number":479,"context_line":"                self._deploy_tenant(tenant_id)"},{"line_number":480,"context_line":"                self._verify_network_details(self.tenants[tenant_id])"},{"line_number":481,"context_line":"                self._verify_mac_addr(self.tenants[tenant_id])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2Bw44%3D","line":478,"in_reply_to":"AAAAUX%2F%2BxFU%3D","updated":"2014-02-19 07:56:06.000000000","message":"self.tenants is a dict, list(self.tenants) returns the keys as a list but self.tenants is not.","commit_id":"e5b681b63bcd770d4a0004a430edfc1f36d09265"}],"tempest/scenario/test_network_basic_ops.py":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"095ae8ae2434c88cd0aeb9282f99e6c227f5303a","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def _reassociate_floating_ips(self):"},{"line_number":232,"context_line":"        network \u003d self.networks[0]"},{"line_number":233,"context_line":"        for floating_ip in list(self.floating_ips):"},{"line_number":234,"context_line":"            name \u003d data_utils.rand_name(\u0027new_server-smoke-\u0027)"},{"line_number":235,"context_line":"            # create a new server for the floating ip"},{"line_number":236,"context_line":"            server \u003d self._create_server(name, network)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2BxE4%3D","line":233,"updated":"2014-02-19 07:17:41.000000000","message":"same question:\nwhy not \nfor key in dict:\n?","commit_id":"e5b681b63bcd770d4a0004a430edfc1f36d09265"}]}
