)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fda24f9ff433a56649e6ef41008042eecf0eefb1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"21da7901_3f74488e","updated":"2025-03-17 18:14:04.000000000","message":"doc job is broken here, fixing it in https://review.opendev.org/c/openstack/python-openstackclient/+/944786","commit_id":"838e5a2fb1f6e986c0558606e1a56abd43279d82"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"0f78a17d72e2f0d3bc10c7e73267f5595e988809","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f958258f_8bc0f790","updated":"2025-03-18 11:46:28.000000000","message":"recheck","commit_id":"838e5a2fb1f6e986c0558606e1a56abd43279d82"},{"author":{"_account_id":20676,"name":"daniel.pawlik","display_name":"Daniel Pawlik","email":"dpawlik@redhat.com","username":"daniel.pawlik"},"change_message_id":"c63da90c87211f3a5c1c49e95179c3a67ad7463c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1e01f5c6_28271212","updated":"2025-03-18 13:38:55.000000000","message":"Works well! Much better than in my PS: https://review.opendev.org/c/openstack/python-openstackclient/+/944383","commit_id":"9c57d5a662a8e6a567f9e6344e49bf58181b5089"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42c4ad4403d121fd153ee14063ab6ff00eec87c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"093e2673_9b9de7e3","updated":"2025-03-19 10:43:00.000000000","message":"These are really nits, but there\u0027s probably enough to warrant the -1. This looks much better already though!","commit_id":"b7765d4dfd919253b9eaa037096f33e8e3e63ce8"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"dc09358c54e01ac85dace2c1789f5dc2a7b33831","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"37f54c06_6e126d6d","updated":"2025-03-21 08:34:28.000000000","message":"thanks","commit_id":"eb452ed2776c6ac652070adc72387a479ae742a3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7ee20fb66936241f4f0c3aa5a5d7299b6ec1f939","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3f31520d_9950f14d","updated":"2025-03-25 11:18:39.000000000","message":"@ralonsoh@redhat.com and @katonalala@gmail.com were already +2 and the changes are trivial, so I\u0027ll push this through","commit_id":"6d27b2f2b6137d809b630233e7c87bdac5ca0218"}],"openstackclient/common/quota.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"32269aa4c0efed93ec278c42d95be79e743f475c","unresolved":true,"context_lines":[{"line_number":781,"context_line":"                default\u003dparsed_args.default,"},{"line_number":782,"context_line":"            )"},{"line_number":783,"context_line":"        if parsed_args.service in {\u0027all\u0027, \u0027network\u0027}:"},{"line_number":784,"context_line":"            network_quota_info \u003d get_network_quotas("},{"line_number":785,"context_line":"                self.app,"},{"line_number":786,"context_line":"                project,"},{"line_number":787,"context_line":"                detail\u003dparsed_args.usage,"},{"line_number":788,"context_line":"                default\u003dparsed_args.default,"},{"line_number":789,"context_line":"            )"},{"line_number":790,"context_line":"            if parsed_args.usage:"},{"line_number":791,"context_line":"                network_quota_info \u003d _convert_network_quotas_result("},{"line_number":792,"context_line":"                    network_quota_info"}],"source_content_type":"text/x-python","patch_set":3,"id":"552713b1_c126f42a","line":789,"range":{"start_line":784,"start_character":0,"end_line":789,"end_character":13},"updated":"2025-03-18 18:13:00.000000000","message":"This is supposed to handle the conversion: you\u0027ll see we\u0027re passing `parsed_args.usage` in via the `detail` argument. Is that not happening? Assuming not, rather than adding a wholly new function, would it be possible to figure out what\u0027s going wrong there and fix that?","commit_id":"dcfd7083beb7589cdc058fcdd8c3bb0fd906d2c2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"268d5632a5b766dc3f87504d8073d2afb17bd085","unresolved":false,"context_lines":[{"line_number":781,"context_line":"                default\u003dparsed_args.default,"},{"line_number":782,"context_line":"            )"},{"line_number":783,"context_line":"        if parsed_args.service in {\u0027all\u0027, \u0027network\u0027}:"},{"line_number":784,"context_line":"            network_quota_info \u003d get_network_quotas("},{"line_number":785,"context_line":"                self.app,"},{"line_number":786,"context_line":"                project,"},{"line_number":787,"context_line":"                detail\u003dparsed_args.usage,"},{"line_number":788,"context_line":"                default\u003dparsed_args.default,"},{"line_number":789,"context_line":"            )"},{"line_number":790,"context_line":"            if parsed_args.usage:"},{"line_number":791,"context_line":"                network_quota_info \u003d _convert_network_quotas_result("},{"line_number":792,"context_line":"                    network_quota_info"}],"source_content_type":"text/x-python","patch_set":3,"id":"a7dbe3d4_025d8dc3","line":789,"range":{"start_line":784,"start_character":0,"end_line":789,"end_character":13},"in_reply_to":"552713b1_c126f42a","updated":"2025-03-19 09:57:51.000000000","message":"it is passing \"detail\" argument but the format of data returned by neutron is different so that get_network_quotas function didn\u0027t really do any conversion. I don\u0027t know for sure if that\u0027s something  what have changed in Neutron (I don\u0027t think so) or if I did it wrong previously but You\u0027re absolutely right that there is no need for new function now. I fixed \"get_network_quotas\" now. I hope it is better for you 😊","commit_id":"dcfd7083beb7589cdc058fcdd8c3bb0fd906d2c2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42c4ad4403d121fd153ee14063ab6ff00eec87c0","unresolved":true,"context_lines":[{"line_number":207,"context_line":"            if values is None:"},{"line_number":208,"context_line":"                continue"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"            if isinstance(values, dict):"},{"line_number":211,"context_line":"                result[key] \u003d values.get(\u0027limit\u0027, 0)"},{"line_number":212,"context_line":"                result[\"reservation\"][key] \u003d values.get(\u0027reserved\u0027, 0)"},{"line_number":213,"context_line":"                result[\"usage\"][key] \u003d values.get(\u0027used\u0027, 0)"}],"source_content_type":"text/x-python","patch_set":4,"id":"6402b746_dac8538a","line":210,"updated":"2025-03-19 10:43:00.000000000","message":"What other kind of value could it be, other than a dict or `None`? If that\u0027s all, do we need this check or can we remove it? I think the reason it was there before was as an alternative to checking for `detail\u003dTrue`.","commit_id":"b7765d4dfd919253b9eaa037096f33e8e3e63ce8"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"381c62762833eeaafc2148a07e398324526c8ed4","unresolved":true,"context_lines":[{"line_number":207,"context_line":"            if values is None:"},{"line_number":208,"context_line":"                continue"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"            if isinstance(values, dict):"},{"line_number":211,"context_line":"                result[key] \u003d values.get(\u0027limit\u0027, 0)"},{"line_number":212,"context_line":"                result[\"reservation\"][key] \u003d values.get(\u0027reserved\u0027, 0)"},{"line_number":213,"context_line":"                result[\"usage\"][key] \u003d values.get(\u0027used\u0027, 0)"}],"source_content_type":"text/x-python","patch_set":4,"id":"a57ecfe9_5419a76b","line":210,"in_reply_to":"6402b746_dac8538a","updated":"2025-03-19 15:38:06.000000000","message":"can be also string e.g. with project_id","commit_id":"b7765d4dfd919253b9eaa037096f33e8e3e63ce8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b688350e21f50df48bc1f772b7f9a06c4b3a5250","unresolved":false,"context_lines":[{"line_number":207,"context_line":"            if values is None:"},{"line_number":208,"context_line":"                continue"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"            if isinstance(values, dict):"},{"line_number":211,"context_line":"                result[key] \u003d values.get(\u0027limit\u0027, 0)"},{"line_number":212,"context_line":"                result[\"reservation\"][key] \u003d values.get(\u0027reserved\u0027, 0)"},{"line_number":213,"context_line":"                result[\"usage\"][key] \u003d values.get(\u0027used\u0027, 0)"}],"source_content_type":"text/x-python","patch_set":4,"id":"88437469_f4b1f0e3","line":210,"in_reply_to":"a57ecfe9_5419a76b","updated":"2025-03-19 17:13:12.000000000","message":"Aha, indeed. Let\u0027s keep this so.","commit_id":"b7765d4dfd919253b9eaa037096f33e8e3e63ce8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42c4ad4403d121fd153ee14063ab6ff00eec87c0","unresolved":true,"context_lines":[{"line_number":208,"context_line":"                continue"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"            if isinstance(values, dict):"},{"line_number":211,"context_line":"                result[key] \u003d values.get(\u0027limit\u0027, 0)"},{"line_number":212,"context_line":"                result[\"reservation\"][key] \u003d values.get(\u0027reserved\u0027, 0)"},{"line_number":213,"context_line":"                result[\"usage\"][key] \u003d values.get(\u0027used\u0027, 0)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        return result"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"6497fa8a_f7eb0136","line":213,"range":{"start_line":211,"start_character":0,"end_line":213,"end_character":60},"updated":"2025-03-19 10:43:00.000000000","message":"Again, do we need `.get` or can we always expect these keys to be present?\n\n```suggestion\n                result[key] \u003d values[\u0027limit\u0027]\n                result[\u0027reservation\u0027][key] \u003d values[\u0027reserved\u0027]\n                result[\u0027usage\u0027][key] \u003d [\u0027used\u0027]\n```","commit_id":"b7765d4dfd919253b9eaa037096f33e8e3e63ce8"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"381c62762833eeaafc2148a07e398324526c8ed4","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                continue"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"            if isinstance(values, dict):"},{"line_number":211,"context_line":"                result[key] \u003d values.get(\u0027limit\u0027, 0)"},{"line_number":212,"context_line":"                result[\"reservation\"][key] \u003d values.get(\u0027reserved\u0027, 0)"},{"line_number":213,"context_line":"                result[\"usage\"][key] \u003d values.get(\u0027used\u0027, 0)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        return result"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"6b950d2c_df9a58e0","line":213,"range":{"start_line":211,"start_character":0,"end_line":213,"end_character":60},"in_reply_to":"6497fa8a_f7eb0136","updated":"2025-03-19 15:38:06.000000000","message":"According to the Neutron API Ref: https://docs.openstack.org/api-ref/network/v2/index.html#quotas-details-extension-quota-details those values should always be there","commit_id":"b7765d4dfd919253b9eaa037096f33e8e3e63ce8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42c4ad4403d121fd153ee14063ab6ff00eec87c0","unresolved":true,"context_lines":[{"line_number":772,"context_line":"            )"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"        info \u003d {}"},{"line_number":775,"context_line":"        if parsed_args.usage:"},{"line_number":776,"context_line":"            info[\"reservation\"] \u003d compute_quota_info.pop(\"reservation\", {})"},{"line_number":777,"context_line":"            info[\"usage\"] \u003d compute_quota_info.pop(\"usage\", {})"},{"line_number":778,"context_line":"            info[\"reservation\"].update("},{"line_number":779,"context_line":"                volume_quota_info.pop(\"reservation\", {})"},{"line_number":780,"context_line":"            )"},{"line_number":781,"context_line":"            info[\"usage\"].update(volume_quota_info.pop(\"usage\", {}))"},{"line_number":782,"context_line":"            info[\"reservation\"].update("},{"line_number":783,"context_line":"                network_quota_info.pop(\"reservation\", {})"},{"line_number":784,"context_line":"            )"},{"line_number":785,"context_line":"            info[\"usage\"].update(network_quota_info.pop(\"usage\", {}))"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"        info.update(compute_quota_info)"},{"line_number":788,"context_line":"        info.update(volume_quota_info)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa3a897d_6a832957","line":785,"range":{"start_line":775,"start_character":0,"end_line":785,"end_character":69},"updated":"2025-03-19 10:43:00.000000000","message":"nit: could you group the `reservation` and `usage` extracts?\n\n```suggestion\n\n        if parsed_args.usage:\n            info[\"reservation\"] \u003d compute_quota_info.pop(\"reservation\", {})\n            info[\"reservation\"].update(\n                volume_quota_info.pop(\"reservation\", {})\n            )\n            info[\"reservation\"].update(\n                network_quota_info.pop(\"reservation\", {})\n            )\n\n            info[\"usage\"] \u003d compute_quota_info.pop(\"usage\", {})\n            info[\"usage\"].update(volume_quota_info.pop(\"usage\", {}))\n            info[\"usage\"].update(network_quota_info.pop(\"usage\", {}))\n```","commit_id":"b7765d4dfd919253b9eaa037096f33e8e3e63ce8"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"381c62762833eeaafc2148a07e398324526c8ed4","unresolved":false,"context_lines":[{"line_number":772,"context_line":"            )"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"        info \u003d {}"},{"line_number":775,"context_line":"        if parsed_args.usage:"},{"line_number":776,"context_line":"            info[\"reservation\"] \u003d compute_quota_info.pop(\"reservation\", {})"},{"line_number":777,"context_line":"            info[\"usage\"] \u003d compute_quota_info.pop(\"usage\", {})"},{"line_number":778,"context_line":"            info[\"reservation\"].update("},{"line_number":779,"context_line":"                volume_quota_info.pop(\"reservation\", {})"},{"line_number":780,"context_line":"            )"},{"line_number":781,"context_line":"            info[\"usage\"].update(volume_quota_info.pop(\"usage\", {}))"},{"line_number":782,"context_line":"            info[\"reservation\"].update("},{"line_number":783,"context_line":"                network_quota_info.pop(\"reservation\", {})"},{"line_number":784,"context_line":"            )"},{"line_number":785,"context_line":"            info[\"usage\"].update(network_quota_info.pop(\"usage\", {}))"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"        info.update(compute_quota_info)"},{"line_number":788,"context_line":"        info.update(volume_quota_info)"}],"source_content_type":"text/x-python","patch_set":4,"id":"511e920c_d4e8f104","line":785,"range":{"start_line":775,"start_character":0,"end_line":785,"end_character":69},"in_reply_to":"fa3a897d_6a832957","updated":"2025-03-19 15:38:06.000000000","message":"Done","commit_id":"b7765d4dfd919253b9eaa037096f33e8e3e63ce8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0b59e8fd21e7dd658e4050c83ac576d58f3b4d9a","unresolved":true,"context_lines":[{"line_number":176,"context_line":"    default\u003dFalse,"},{"line_number":177,"context_line":"):"},{"line_number":178,"context_line":"    def _network_quota_to_dict(network_quota, detail\u003dFalse):"},{"line_number":179,"context_line":"        if not isinstance(network_quota, dict):"},{"line_number":180,"context_line":"            dict_quota \u003d network_quota.to_dict()"},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            dict_quota \u003d network_quota"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        if not detail:"},{"line_number":185,"context_line":"            return dict_quota"}],"source_content_type":"text/x-python","patch_set":5,"id":"d0c5aeaf_e1efc5f4","line":182,"range":{"start_line":179,"start_character":0,"end_line":182,"end_character":38},"updated":"2025-03-20 15:25:18.000000000","message":"This is a no-op now since SDK\u0027s `Resource` is a subclass of `dict`. Instead, we can do:\n\n\n```suggestion\n        dict_quota \u003d network_quota.to_dict(computed\u003dFalse)\n```\n\nThat will prevent us getting a `location` field, which we don\u0027t want.\n\n(we could also look at using `original_names\u003dTrue` and avoid the translation of names we\u0027re currently doing, but that\u0027s for another change).","commit_id":"5061de548ae81ec74ed2f04130dc1fc0723e41f0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"77eac484a7d0c93b2dfca6467a335f18496f175f","unresolved":true,"context_lines":[{"line_number":176,"context_line":"    default\u003dFalse,"},{"line_number":177,"context_line":"):"},{"line_number":178,"context_line":"    def _network_quota_to_dict(network_quota, detail\u003dFalse):"},{"line_number":179,"context_line":"        if not isinstance(network_quota, dict):"},{"line_number":180,"context_line":"            dict_quota \u003d network_quota.to_dict()"},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            dict_quota \u003d network_quota"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        if not detail:"},{"line_number":185,"context_line":"            return dict_quota"}],"source_content_type":"text/x-python","patch_set":5,"id":"69f36c02_9c189d9d","line":182,"range":{"start_line":179,"start_character":0,"end_line":182,"end_character":38},"in_reply_to":"1b7c8054_0119aa07","updated":"2025-03-21 15:00:35.000000000","message":"Any reason not to simplify this further as suggested?\n\n```suggestion\n        dict_quota \u003d network_quota.to_dict(computed\u003dFalse)\n```\n\nI don\u0027t think we\u0027ll *ever* get a raw dict here in real-life, right?","commit_id":"5061de548ae81ec74ed2f04130dc1fc0723e41f0"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"6cf59085df2f69a0df4237e8a9d3d4c7b9cdeddd","unresolved":false,"context_lines":[{"line_number":176,"context_line":"    default\u003dFalse,"},{"line_number":177,"context_line":"):"},{"line_number":178,"context_line":"    def _network_quota_to_dict(network_quota, detail\u003dFalse):"},{"line_number":179,"context_line":"        if not isinstance(network_quota, dict):"},{"line_number":180,"context_line":"            dict_quota \u003d network_quota.to_dict()"},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            dict_quota \u003d network_quota"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        if not detail:"},{"line_number":185,"context_line":"            return dict_quota"}],"source_content_type":"text/x-python","patch_set":5,"id":"1b7c8054_0119aa07","line":182,"range":{"start_line":179,"start_character":0,"end_line":182,"end_character":38},"in_reply_to":"d0c5aeaf_e1efc5f4","updated":"2025-03-21 08:31:57.000000000","message":"Done - here and below in L210 I also changed it to check type instead of \"isinstance\"","commit_id":"5061de548ae81ec74ed2f04130dc1fc0723e41f0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8ced1cb21601b764b6901ab17068b09dd98867d5","unresolved":true,"context_lines":[{"line_number":208,"context_line":"                continue"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"            if isinstance(values, dict):"},{"line_number":211,"context_line":"                result[key] \u003d values[\u0027limit\u0027]"},{"line_number":212,"context_line":"                result[\"reservation\"][key] \u003d values[\u0027reserved\u0027]"},{"line_number":213,"context_line":"                result[\"usage\"][key] \u003d values[\u0027used\u0027]"},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"e5598dd0_487aa831","line":211,"updated":"2025-03-19 17:14:59.000000000","message":"Looks like this is not always present, per failing functional tests. Probably one to confirm locally before undoing the change in PS5.","commit_id":"5061de548ae81ec74ed2f04130dc1fc0723e41f0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0b59e8fd21e7dd658e4050c83ac576d58f3b4d9a","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                continue"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"            if isinstance(values, dict):"},{"line_number":211,"context_line":"                result[key] \u003d values[\u0027limit\u0027]"},{"line_number":212,"context_line":"                result[\"reservation\"][key] \u003d values[\u0027reserved\u0027]"},{"line_number":213,"context_line":"                result[\"usage\"][key] \u003d values[\u0027used\u0027]"},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"49d552d1_8fbf1aaf","line":211,"in_reply_to":"e5598dd0_487aa831","updated":"2025-03-20 15:25:18.000000000","message":"I took a look at this. This is being caused by the `location` field. You can ignore that per my comment above.","commit_id":"5061de548ae81ec74ed2f04130dc1fc0723e41f0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"77eac484a7d0c93b2dfca6467a335f18496f175f","unresolved":true,"context_lines":[{"line_number":206,"context_line":"        for key, values in dict_quota.items():"},{"line_number":207,"context_line":"            if values is None:"},{"line_number":208,"context_line":"                continue"},{"line_number":209,"context_line":"            if type(values) is dict and \u0027limit\u0027 in values:"},{"line_number":210,"context_line":"                result[key] \u003d values[\u0027limit\u0027]"},{"line_number":211,"context_line":"                result[\"reservation\"][key] \u003d values[\u0027reserved\u0027]"},{"line_number":212,"context_line":"                result[\"usage\"][key] \u003d values[\u0027used\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"df4163a7_ed7affb3","line":209,"updated":"2025-03-21 15:00:35.000000000","message":"nit:\n\n```suggestion\n            if isinstance(values) is dict:\n```\n\nBecause we\u0027re setting `compute\u003dFalse` above, we should never get `location` here (which is the only non-quota value). `isinstance` is sufficient to prevent `project_id` getting through","commit_id":"eb452ed2776c6ac652070adc72387a479ae742a3"}]}
