)]}'
{"openstackclient/common/quota.py":[{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"ac546321ed23c525b894382fc8a41d5c552d3acb","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            if parsed_args.quota_class:"},{"line_number":149,"context_line":"                project \u003d parsed_args.project"},{"line_number":150,"context_line":"            else:"},{"line_number":151,"context_line":"                project \u003d utils.find_resource("},{"line_number":152,"context_line":"                    identity_client.projects,"},{"line_number":153,"context_line":"                    parsed_args.project,"},{"line_number":154,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_10c87321","line":151,"range":{"start_line":151,"start_character":16,"end_line":151,"end_character":23},"updated":"2016-08-05 11:59:11.000000000","message":"This \"project\" should be project ID I think.\nyou may need to do like this:\n    project \u003d utils.find_resource(\n        identity_client.projects,\n        parsed_args.project,\n    ).id","commit_id":"ce8ca5c31f5e0d61521512ec10ccc55f82d32bbb"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"878e092f62b2eaa132fef7df4ac29d2d5d9e859b","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            if parsed_args.quota_class:"},{"line_number":149,"context_line":"                project \u003d parsed_args.project"},{"line_number":150,"context_line":"            else:"},{"line_number":151,"context_line":"                project \u003d utils.find_resource("},{"line_number":152,"context_line":"                    identity_client.projects,"},{"line_number":153,"context_line":"                    parsed_args.project,"},{"line_number":154,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_475ce518","line":151,"range":{"start_line":151,"start_character":16,"end_line":151,"end_character":23},"in_reply_to":"bacf61ea_10c87321","updated":"2016-08-05 15:49:28.000000000","message":"++","commit_id":"ce8ca5c31f5e0d61521512ec10ccc55f82d32bbb"},{"author":{"_account_id":22754,"name":"Qiang Tang","email":"qtang@vmware.com","username":"qtang"},"change_message_id":"3208610ae55b8fff4d8cfb21838b441bed6261b1","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            if parsed_args.quota_class:"},{"line_number":149,"context_line":"                project \u003d parsed_args.project"},{"line_number":150,"context_line":"            else:"},{"line_number":151,"context_line":"                project \u003d utils.find_resource("},{"line_number":152,"context_line":"                    identity_client.projects,"},{"line_number":153,"context_line":"                    parsed_args.project,"},{"line_number":154,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_029ab061","line":151,"range":{"start_line":151,"start_character":16,"end_line":151,"end_character":23},"in_reply_to":"bacf61ea_10c87321","updated":"2016-08-08 02:46:52.000000000","message":"Thanks for your comments and it is done in my patch 2","commit_id":"ce8ca5c31f5e0d61521512ec10ccc55f82d32bbb"},{"author":{"_account_id":22754,"name":"Qiang Tang","email":"qtang@vmware.com","username":"qtang"},"change_message_id":"3208610ae55b8fff4d8cfb21838b441bed6261b1","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            if parsed_args.quota_class:"},{"line_number":149,"context_line":"                project \u003d parsed_args.project"},{"line_number":150,"context_line":"            else:"},{"line_number":151,"context_line":"                project \u003d utils.find_resource("},{"line_number":152,"context_line":"                    identity_client.projects,"},{"line_number":153,"context_line":"                    parsed_args.project,"},{"line_number":154,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":1,"id":"bacf61ea_62a56ca0","line":151,"range":{"start_line":151,"start_character":16,"end_line":151,"end_character":23},"in_reply_to":"bacf61ea_475ce518","updated":"2016-08-08 02:46:52.000000000","message":"Thanks for your comments and it is done in my patch 2","commit_id":"ce8ca5c31f5e0d61521512ec10ccc55f82d32bbb"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"18f6dd750417b3170d76b46c92320dc3652887f7","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                if value is not None:"},{"line_number":145,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        if parsed_args.project:"},{"line_number":148,"context_line":"            if parsed_args.quota_class:"},{"line_number":149,"context_line":"                project \u003d parsed_args.project"},{"line_number":150,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_ddefd984","line":147,"updated":"2016-08-08 03:58:12.000000000","message":"Question:\nCan parsed_args.project EVER be None?\nIf it can be, then functions called in #158, #163 etc will fail because the project used in those lines is defined in Line#149/#151\n\nAlso , somehow I cannot find the project variable outside the if/else loop so I am somehow suspecting that this may be a variable in the local-scope of if/else loop.","commit_id":"d0e9c3c4d3e18970b206873006eda5357edf8d0b"},{"author":{"_account_id":22754,"name":"Qiang Tang","email":"qtang@vmware.com","username":"qtang"},"change_message_id":"f9ffd06b99bc47119491574797b4b89429346ea8","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                if value is not None:"},{"line_number":145,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        if parsed_args.project:"},{"line_number":148,"context_line":"            if parsed_args.quota_class:"},{"line_number":149,"context_line":"                project \u003d parsed_args.project"},{"line_number":150,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_39b0a9dd","line":147,"in_reply_to":"9ad45d7e_fefff731","updated":"2016-08-15 05:36:10.000000000","message":"Correct, the if parsed_args.project has been removed in the patch set 4.","commit_id":"d0e9c3c4d3e18970b206873006eda5357edf8d0b"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"1548bfa08eb38419f9f35ed28acccee5c4595f91","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                if value is not None:"},{"line_number":145,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        if parsed_args.project:"},{"line_number":148,"context_line":"            if parsed_args.quota_class:"},{"line_number":149,"context_line":"                project \u003d parsed_args.project"},{"line_number":150,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_fefff731","line":147,"in_reply_to":"bacf61ea_a39da667","updated":"2016-08-09 04:19:40.000000000","message":"Agreed, then should we have the check if parsed_args.project?\nAs you said, it can never be none!","commit_id":"d0e9c3c4d3e18970b206873006eda5357edf8d0b"},{"author":{"_account_id":22754,"name":"Qiang Tang","email":"qtang@vmware.com","username":"qtang"},"change_message_id":"6b9e32b97bba15734127cffd6159de07fc999dfb","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                if value is not None:"},{"line_number":145,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        if parsed_args.project:"},{"line_number":148,"context_line":"            if parsed_args.quota_class:"},{"line_number":149,"context_line":"                project \u003d parsed_args.project"},{"line_number":150,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bacf61ea_a39da667","line":147,"in_reply_to":"bacf61ea_ddefd984","updated":"2016-08-08 05:42:04.000000000","message":"From the code:\nparser.add_argument(\n            \u0027project\u0027,\n            metavar\u003d\u0027\u003cproject/class\u003e\u0027,\n            help\u003d_(\u0027Set quotas for this project or class (name/ID)\u0027),\n        )\n\nThe project not allowed to be None when set the quota.\nSo the func call will not failure in the current design.","commit_id":"d0e9c3c4d3e18970b206873006eda5357edf8d0b"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"13b7d56ab8bf3a111a45751cf74b9c87eb8c4a71","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                if value is not None:"},{"line_number":145,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        if parsed_args.quota_class:"},{"line_number":148,"context_line":"            project \u003d parsed_args.project"},{"line_number":149,"context_line":"        else:"},{"line_number":150,"context_line":"            project \u003d utils.find_resource("},{"line_number":151,"context_line":"                identity_client.projects,"},{"line_number":152,"context_line":"                parsed_args.project,"},{"line_number":153,"context_line":"            ).id"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        if parsed_args.quota_class:"},{"line_number":156,"context_line":"            if compute_kwargs:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_ea6c870a","line":153,"range":{"start_line":147,"start_character":0,"end_line":153,"end_character":16},"updated":"2016-08-08 09:22:34.000000000","message":"Can we combine this into the if/else below? Seems like they are the same.","commit_id":"2bcf073588330e775043ce496e5a805ffd5b148f"},{"author":{"_account_id":22754,"name":"Qiang Tang","email":"qtang@vmware.com","username":"qtang"},"change_message_id":"e388fc262594ce049f7c94120fe71d674e3ab409","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                if value is not None:"},{"line_number":145,"context_line":"                    compute_kwargs[k] \u003d value"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        if parsed_args.quota_class:"},{"line_number":148,"context_line":"            project \u003d parsed_args.project"},{"line_number":149,"context_line":"        else:"},{"line_number":150,"context_line":"            project \u003d utils.find_resource("},{"line_number":151,"context_line":"                identity_client.projects,"},{"line_number":152,"context_line":"                parsed_args.project,"},{"line_number":153,"context_line":"            ).id"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        if parsed_args.quota_class:"},{"line_number":156,"context_line":"            if compute_kwargs:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_6d4b915a","line":153,"range":{"start_line":147,"start_character":0,"end_line":153,"end_character":16},"in_reply_to":"9ad45d7e_ea6c870a","updated":"2016-08-08 09:27:19.000000000","message":"Sure","commit_id":"2bcf073588330e775043ce496e5a805ffd5b148f"},{"author":{"_account_id":22754,"name":"Qiang Tang","email":"qtang@vmware.com","username":"qtang"},"change_message_id":"e388fc262594ce049f7c94120fe71d674e3ab409","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        parser.add_argument("},{"line_number":188,"context_line":"            \u0027project\u0027,"},{"line_number":189,"context_line":"            metavar\u003d\u0027\u003cproject/class\u003e\u0027,"},{"line_number":190,"context_line":"            nargs\u003d\u0027?\u0027,"},{"line_number":191,"context_line":"            help\u003d_(\u0027Show quotas for this project or class (name or ID)\u0027),"},{"line_number":192,"context_line":"        )"},{"line_number":193,"context_line":"        type_group \u003d parser.add_mutually_exclusive_group()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_4d8ded7a","line":190,"range":{"start_line":190,"start_character":12,"end_line":190,"end_character":22},"updated":"2016-08-08 09:27:19.000000000","message":"This make this para can be None.","commit_id":"2bcf073588330e775043ce496e5a805ffd5b148f"},{"author":{"_account_id":22754,"name":"Qiang Tang","email":"qtang@vmware.com","username":"qtang"},"change_message_id":"e388fc262594ce049f7c94120fe71d674e3ab409","unresolved":false,"context_lines":[{"line_number":215,"context_line":"                parsed_args.project,"},{"line_number":216,"context_line":"            ).id"},{"line_number":217,"context_line":"        elif self.app.client_manager.auth_ref:"},{"line_number":218,"context_line":"            # Get the project from the current auth"},{"line_number":219,"context_line":"            project \u003d self.app.client_manager.auth_ref.project_id"},{"line_number":220,"context_line":"        else:"},{"line_number":221,"context_line":"            project \u003d None"},{"line_number":222,"context_line":"        return project"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    def get_compute_volume_quota(self, client, parsed_args):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_0dc13581","line":221,"range":{"start_line":218,"start_character":7,"end_line":221,"end_character":26},"updated":"2016-08-08 09:27:19.000000000","message":"This handle the None value of project.","commit_id":"2bcf073588330e775043ce496e5a805ffd5b148f"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"17e26d8596d52596fca4a2fcd44cf7e21393c3ed","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        return project"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def get_compute_volume_quota(self, client, parsed_args):"},{"line_number":233,"context_line":"        project \u003d self._get_project(parsed_args)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        try:"},{"line_number":236,"context_line":"            if parsed_args.quota_class:"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a89bdaa_3511ed04","side":"PARENT","line":233,"updated":"2016-09-13 13:06:19.000000000","message":"I suggest updating this function to handle quota class.","commit_id":"4c83d75833ae7471827d5378527614dbe11f3cbf"},{"author":{"_account_id":22754,"name":"Qiang Tang","email":"qtang@vmware.com","username":"qtang"},"change_message_id":"0533581555fd147b299e06dc49d53c9d9af69982","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        return project"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def get_compute_volume_quota(self, client, parsed_args):"},{"line_number":233,"context_line":"        project \u003d self._get_project(parsed_args)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        try:"},{"line_number":236,"context_line":"            if parsed_args.quota_class:"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a8ec9b2_e01128b1","side":"PARENT","line":233,"in_reply_to":"9a89bdaa_3511ed04","updated":"2016-09-14 03:11:37.000000000","message":"As the func name, I think maybe it is ok to just let the _get_project to handle the real project instead of the handle both project and quota class.","commit_id":"4c83d75833ae7471827d5378527614dbe11f3cbf"}],"releasenotes/notes/bug-1609233-90b2ddf8d941050e.yaml":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"17e26d8596d52596fca4a2fcd44cf7e21393c3ed","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fix the ``--class`` option not work when we set/show the default"},{"line_number":4,"context_line":"    quota class."},{"line_number":5,"context_line":"    [Bug `1609233 \u003chttps://bugs.launchpad.net/bugs/1609233\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"9a89bdaa_35848d09","line":4,"range":{"start_line":3,"start_character":61,"end_line":4,"end_character":15},"updated":"2016-09-13 13:06:19.000000000","message":"Doesn\u0027t this fix all quota classes?","commit_id":"a30ec91380d31c37779ac71bb6562eff514468ed"},{"author":{"_account_id":22754,"name":"Qiang Tang","email":"qtang@vmware.com","username":"qtang"},"change_message_id":"0533581555fd147b299e06dc49d53c9d9af69982","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - Fix the ``--class`` option not work when we set/show the default"},{"line_number":4,"context_line":"    quota class."},{"line_number":5,"context_line":"    [Bug `1609233 \u003chttps://bugs.launchpad.net/bugs/1609233\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7a8ec9b2_200cf093","line":4,"range":{"start_line":3,"start_character":61,"end_line":4,"end_character":15},"in_reply_to":"9a89bdaa_35848d09","updated":"2016-09-14 03:11:37.000000000","message":"Done","commit_id":"a30ec91380d31c37779ac71bb6562eff514468ed"}]}
