)]}'
{"openstackclient/common/quota.py":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"b8337164b33ab7d78c62432e5aa0996352ef453f","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                        parsed_args.project,"},{"line_number":184,"context_line":"                    ).id"},{"line_number":185,"context_line":"                if parsed_args.default:"},{"line_number":186,"context_line":"                    quota \u003d client.quotas.defaults(project)"},{"line_number":187,"context_line":"                else:"},{"line_number":188,"context_line":"                    quota \u003d client.quotas.get(project)"},{"line_number":189,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_5c6bf385","line":186,"updated":"2015-11-20 16:47:30.000000000","message":"if parsed_args.project is not set, project is uninitialized here...\n\nDo lines 185-188 need to be inside the block that begins on line 180, and then a fallback else: added below?","commit_id":"c1a614e2582e4e071053fadd95ddeb894771ad55"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"ce4018fa06c33d4660dbc766b9e21e40d74c3419","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                        parsed_args.project,"},{"line_number":184,"context_line":"                    ).id"},{"line_number":185,"context_line":"                if parsed_args.default:"},{"line_number":186,"context_line":"                    quota \u003d client.quotas.defaults(project)"},{"line_number":187,"context_line":"                else:"},{"line_number":188,"context_line":"                    quota \u003d client.quotas.get(project)"},{"line_number":189,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_69d4f846","line":186,"in_reply_to":"ba8a016a_5c6bf385","updated":"2015-11-20 17:33:10.000000000","message":"Hi, Dean,\n  Thanks for your review.\n  Yes, it seems to be possibility, but i think there no chance to step into this function if the parsed_args.project is not set, as the process is already exited with an \"error: too few arguments\" which raised by  args parser.\n  But it is a really god advice about the fixing tips, and for more reasonable, i will update the patch.","commit_id":"c1a614e2582e4e071053fadd95ddeb894771ad55"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"ce593435c67b23e456231dbb71a8a979068a9ee2","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                else:"},{"line_number":185,"context_line":"                    quota \u003d client.quotas.get(project)"},{"line_number":186,"context_line":"            else:"},{"line_number":187,"context_line":"                quota \u003d client.quota_classes.get(parsed_args.project)"},{"line_number":188,"context_line":"        except Exception as e:"},{"line_number":189,"context_line":"            if type(e).__name__ \u003d\u003d \u0027EndpointNotFound\u0027:"},{"line_number":190,"context_line":"                return {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_9559e95d","line":187,"updated":"2015-11-23 15:48:51.000000000","message":"Why pass parsed_args.project here if it isn\u0027t set?","commit_id":"a0d70d20c616a71342d285b8e478c59f0d973850"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"de123c681779048827f3c08c519db246a5092d33","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                else:"},{"line_number":185,"context_line":"                    quota \u003d client.quotas.get(project)"},{"line_number":186,"context_line":"            else:"},{"line_number":187,"context_line":"                quota \u003d client.quota_classes.get(parsed_args.project)"},{"line_number":188,"context_line":"        except Exception as e:"},{"line_number":189,"context_line":"            if type(e).__name__ \u003d\u003d \u0027EndpointNotFound\u0027:"},{"line_number":190,"context_line":"                return {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_fdccc262","line":187,"in_reply_to":"ba8a016a_9559e95d","updated":"2015-11-24 02:40:15.000000000","message":"Done","commit_id":"a0d70d20c616a71342d285b8e478c59f0d973850"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"8f69a90a83bd100a7fc3eb9773e99b6a96f4b599","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            if parsed_args.quota_class:"},{"line_number":178,"context_line":"                quota \u003d client.quota_classes.get(parsed_args.project)"},{"line_number":179,"context_line":"            else:"},{"line_number":180,"context_line":"                if parsed_args.project:"},{"line_number":181,"context_line":"                    project \u003d utils.find_resource("},{"line_number":182,"context_line":"                        identity_client.projects,"},{"line_number":183,"context_line":"                        parsed_args.project,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a8ffd7b_6700adab","line":180,"updated":"2015-11-24 14:31:50.000000000","message":"Use elif instead.  \n\nAlso an else case is missing when both parsed_args.quota_class and parsed_args.project are not set.  In this case, quota will be None and line 194 will raise an exception.","commit_id":"a919a55c5f9bd96b99eaccd01a93621b225a00c8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"0a2318e95ef234ecef0c97be51179e2ca3b59ff2","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                else:"},{"line_number":189,"context_line":"                    quota \u003d client.quotas.get(project)"},{"line_number":190,"context_line":"            else:"},{"line_number":191,"context_line":"                msg \u003d \"Project or class (name/ID) must be specified\""},{"line_number":192,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":193,"context_line":"        except Exception as e:"},{"line_number":194,"context_line":"            if type(e).__name__ \u003d\u003d \u0027EndpointNotFound\u0027:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_1aba146f","line":191,"updated":"2015-11-25 14:25:39.000000000","message":"Suggestion changing \"name/ID\" to \"name or ID\".","commit_id":"6a6b3ec8e8377eb967670a80a935c0f640fe1226"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"af5969c41dba0cba1d508b7a0e05ae7aae739de0","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                else:"},{"line_number":189,"context_line":"                    quota \u003d client.quotas.get(project)"},{"line_number":190,"context_line":"            else:"},{"line_number":191,"context_line":"                msg \u003d \"Project or class (name/ID) must be specified\""},{"line_number":192,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":193,"context_line":"        except Exception as e:"},{"line_number":194,"context_line":"            if type(e).__name__ \u003d\u003d \u0027EndpointNotFound\u0027:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_16a5f1a0","line":191,"in_reply_to":"9a8ffd7b_1aba146f","updated":"2015-11-26 01:34:23.000000000","message":"Done","commit_id":"6a6b3ec8e8377eb967670a80a935c0f640fe1226"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"57e2ecc9888304585ab0e549f9f4b8438da8b801","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        return parser"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def get_compute_volume_quota(self, client, parsed_args):"},{"line_number":177,"context_line":"        identity_client \u003d self.app.client_manager.identity"},{"line_number":178,"context_line":"        try:"},{"line_number":179,"context_line":"            if parsed_args.quota_class:"},{"line_number":180,"context_line":"                quota \u003d client.quota_classes.get(parsed_args.project)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_59efb71d","line":177,"updated":"2015-11-29 08:07:37.000000000","message":"I would put the check right after here and before the try block","commit_id":"7a38cad0c4d97953c2f4857cf1116c2b043e0b61"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"61d4d6c893becd073987b6ddd96bfa51242e1f51","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        return parser"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def get_compute_volume_quota(self, client, parsed_args):"},{"line_number":177,"context_line":"        identity_client \u003d self.app.client_manager.identity"},{"line_number":178,"context_line":"        try:"},{"line_number":179,"context_line":"            if parsed_args.quota_class:"},{"line_number":180,"context_line":"                quota \u003d client.quota_classes.get(parsed_args.project)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_75e15729","line":177,"in_reply_to":"9a8ffd7b_59efb71d","updated":"2015-11-30 03:06:24.000000000","message":"Done","commit_id":"7a38cad0c4d97953c2f4857cf1116c2b043e0b61"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"57e2ecc9888304585ab0e549f9f4b8438da8b801","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        identity_client \u003d self.app.client_manager.identity"},{"line_number":178,"context_line":"        try:"},{"line_number":179,"context_line":"            if parsed_args.quota_class:"},{"line_number":180,"context_line":"                quota \u003d client.quota_classes.get(parsed_args.project)"},{"line_number":181,"context_line":"            elif parsed_args.project:"},{"line_number":182,"context_line":"                project \u003d utils.find_resource("},{"line_number":183,"context_line":"                    identity_client.projects,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_39ec3329","line":180,"updated":"2015-11-29 08:07:37.000000000","message":"It\u0027s not being checked in this case","commit_id":"7a38cad0c4d97953c2f4857cf1116c2b043e0b61"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"57e2ecc9888304585ab0e549f9f4b8438da8b801","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                else:"},{"line_number":189,"context_line":"                    quota \u003d client.quotas.get(project)"},{"line_number":190,"context_line":"            else:"},{"line_number":191,"context_line":"                msg \u003d \"Project or class (name or ID) must be specified\""},{"line_number":192,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":193,"context_line":"        except Exception as e:"},{"line_number":194,"context_line":"            if type(e).__name__ \u003d\u003d \u0027EndpointNotFound\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_798f1b75","line":191,"updated":"2015-11-29 08:07:37.000000000","message":"This block isn\u0027t necessary since \u0027project\u0027 is a required/positional argument","commit_id":"7a38cad0c4d97953c2f4857cf1116c2b043e0b61"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"61d4d6c893becd073987b6ddd96bfa51242e1f51","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                else:"},{"line_number":189,"context_line":"                    quota \u003d client.quotas.get(project)"},{"line_number":190,"context_line":"            else:"},{"line_number":191,"context_line":"                msg \u003d \"Project or class (name or ID) must be specified\""},{"line_number":192,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":193,"context_line":"        except Exception as e:"},{"line_number":194,"context_line":"            if type(e).__name__ \u003d\u003d \u0027EndpointNotFound\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_323205a8","line":191,"in_reply_to":"9a8ffd7b_798f1b75","updated":"2015-11-30 03:06:24.000000000","message":"Definitely, i also think that... Actually this block was added since Patch set 2 as a few comments.\nOK, i will remove it.","commit_id":"7a38cad0c4d97953c2f4857cf1116c2b043e0b61"}],"openstackclient/tests/common/test_quota.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"ce593435c67b23e456231dbb71a8a979068a9ee2","unresolved":false,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        self.cmd \u003d quota.ShowQuota(self.app, None)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def test_quota_show(self):"},{"line_number":208,"context_line":"        arglist \u003d ["},{"line_number":209,"context_line":"            identity_fakes.project_name,"},{"line_number":210,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_f04c0378","line":207,"updated":"2015-11-23 15:48:51.000000000","message":"The tests should include all three cases used in the code.","commit_id":"a0d70d20c616a71342d285b8e478c59f0d973850"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"de123c681779048827f3c08c519db246a5092d33","unresolved":false,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        self.cmd \u003d quota.ShowQuota(self.app, None)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def test_quota_show(self):"},{"line_number":208,"context_line":"        arglist \u003d ["},{"line_number":209,"context_line":"            identity_fakes.project_name,"},{"line_number":210,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba8a016a_3dea4aad","line":207,"in_reply_to":"ba8a016a_f04c0378","updated":"2015-11-24 02:40:15.000000000","message":"Done","commit_id":"a0d70d20c616a71342d285b8e478c59f0d973850"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"0a2318e95ef234ecef0c97be51179e2ca3b59ff2","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        )"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"class TestQuotaShow(TestQuota):"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def setUp(self):"},{"line_number":191,"context_line":"        super(TestQuotaShow, self).setUp()"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_552aaf7f","line":188,"updated":"2015-11-25 14:25:39.000000000","message":"Please consider a test for the exception path as well.","commit_id":"6a6b3ec8e8377eb967670a80a935c0f640fe1226"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"af5969c41dba0cba1d508b7a0e05ae7aae739de0","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        )"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"class TestQuotaShow(TestQuota):"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def setUp(self):"},{"line_number":191,"context_line":"        super(TestQuotaShow, self).setUp()"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a8ffd7b_d191b39a","line":188,"in_reply_to":"9a8ffd7b_552aaf7f","updated":"2015-11-26 01:34:23.000000000","message":"Done","commit_id":"6a6b3ec8e8377eb967670a80a935c0f640fe1226"}]}
