)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a0bd4f8d277088101ddec766db3ba7a7e3224ac5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"908f428b_3200d8df","updated":"2022-03-09 11:44:31.000000000","message":"Looks pretty good. I think you\u0027re missing a check and a release note. -1 is for these. There are also some nits but those are nice-to-haves. Please mark comments as Resolved once addressed 😊","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":31080,"name":"Nicolas Belouin","email":"nicolas.belouin@suse.com","username":"diconico07"},"change_message_id":"7c3c4595d3d99dfae48f9a968c33027779910203","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5255f887_dded03f6","updated":"2022-04-01 13:49:16.000000000","message":"I missed the notification email from gerrit, so it took me a while to see the comments, but finally here comes the modifications.\n\nThanks for reviewing.\n","commit_id":"11489ec1a9a6c587813803160523a0ae88fd4a3b"},{"author":{"_account_id":31080,"name":"Nicolas Belouin","email":"nicolas.belouin@suse.com","username":"diconico07"},"change_message_id":"d2a6936b4a775e39182398518b108966490e6d74","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"fa31b2a2_d1fe0bae","updated":"2022-04-04 11:40:47.000000000","message":"recheck","commit_id":"11489ec1a9a6c587813803160523a0ae88fd4a3b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e577d331982a52d6d8654c1a34a436569abfe3de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1549855f_afc28ec0","updated":"2022-09-30 11:13:17.000000000","message":"Sorry it took so long to get back to this. In the future, feel free to ping me (or anyone else) on #openstack-sdks if stuff slips like this.","commit_id":"64e4520b2a79b9046a791f5e3729f5cbfc2d3fa5"},{"author":{"_account_id":31080,"name":"Nicolas Belouin","email":"nicolas.belouin@suse.com","username":"diconico07"},"change_message_id":"0f2b3641c2e4ac170d2511b5458d58cb012163a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"ed4b6596_02ffce03","updated":"2022-04-12 12:33:41.000000000","message":"recheck","commit_id":"64e4520b2a79b9046a791f5e3729f5cbfc2d3fa5"},{"author":{"_account_id":31080,"name":"Nicolas Belouin","email":"nicolas.belouin@suse.com","username":"diconico07"},"change_message_id":"816efda0b4d4a590a94638a870e1cc500a4ff3b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"34090a7a_9fcedbfc","updated":"2022-04-12 12:31:45.000000000","message":"recheck openstackclient.tests.functional.network.v2.test_network_rbac.NetworkRBACTests.test_network_rbac_list b\"Error while executing command: ConflictException: 409, Quota exceeded for resources: [\u0027network\u0027].\\n\"","commit_id":"64e4520b2a79b9046a791f5e3729f5cbfc2d3fa5"}],"openstackclient/identity/v3/trust.py":[{"author":{"_account_id":7973,"name":"Douglas Mendizábal","email":"dmendiza@redhat.com","username":"dougmendizabal"},"change_message_id":"f0db11f151beb4a99c74aa6ca24ae566dd0003c1","unresolved":true,"context_lines":[{"line_number":177,"context_line":"    _description \u003d _(\"List trusts\")"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def get_parser(self, prog_name):"},{"line_number":180,"context_line":"        parser \u003d super(ListTrust, self).get_parser(prog_name)"},{"line_number":181,"context_line":"        parser.add_argument("},{"line_number":182,"context_line":"            \u0027--trustor\u0027,"},{"line_number":183,"context_line":"            metavar\u003d\u0027\u003ctrustor-user\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ed2f8f61_b1b7fdff","line":180,"range":{"start_line":180,"start_character":23,"end_line":180,"end_character":38},"updated":"2022-03-04 16:13:00.000000000","message":"nit:  We don\u0027t need Python 2 style super anymore.  Just `super()` would be sufficient.","commit_id":"bf0d554aeedb5ee5f5470e3defbde6ff5bb5db06"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4a5743ec874eb8ec11264ff7ae61ee25f4a73858","unresolved":false,"context_lines":[{"line_number":177,"context_line":"    _description \u003d _(\"List trusts\")"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def get_parser(self, prog_name):"},{"line_number":180,"context_line":"        parser \u003d super(ListTrust, self).get_parser(prog_name)"},{"line_number":181,"context_line":"        parser.add_argument("},{"line_number":182,"context_line":"            \u0027--trustor\u0027,"},{"line_number":183,"context_line":"            metavar\u003d\u0027\u003ctrustor-user\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"57eed552_0c558bb5","line":180,"range":{"start_line":180,"start_character":23,"end_line":180,"end_character":38},"in_reply_to":"ed2f8f61_b1b7fdff","updated":"2022-03-09 11:37:20.000000000","message":"Seems done in PS2","commit_id":"bf0d554aeedb5ee5f5470e3defbde6ff5bb5db06"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a0bd4f8d277088101ddec766db3ba7a7e3224ac5","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def take_action(self, parsed_args):"},{"line_number":210,"context_line":"        columns \u003d (\u0027ID\u0027, \u0027Expires At\u0027, \u0027Impersonation\u0027, \u0027Project ID\u0027,"},{"line_number":211,"context_line":"                   \u0027Trustee User ID\u0027, \u0027Trustor User ID\u0027)"},{"line_number":212,"context_line":"        identity_client \u003d self.app.client_manager.identity"},{"line_number":213,"context_line":"        auth_ref \u003d self.app.client_manager.auth_ref"},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"4de249c4_f8bf062a","line":211,"updated":"2022-03-09 11:44:31.000000000","message":"nit: This usually goes before the return value","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":31080,"name":"Nicolas Belouin","email":"nicolas.belouin@suse.com","username":"diconico07"},"change_message_id":"7c3c4595d3d99dfae48f9a968c33027779910203","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def take_action(self, parsed_args):"},{"line_number":210,"context_line":"        columns \u003d (\u0027ID\u0027, \u0027Expires At\u0027, \u0027Impersonation\u0027, \u0027Project ID\u0027,"},{"line_number":211,"context_line":"                   \u0027Trustee User ID\u0027, \u0027Trustor User ID\u0027)"},{"line_number":212,"context_line":"        identity_client \u003d self.app.client_manager.identity"},{"line_number":213,"context_line":"        auth_ref \u003d self.app.client_manager.auth_ref"},{"line_number":214,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"0c5eeb66_1201a5ab","line":211,"in_reply_to":"4de249c4_f8bf062a","updated":"2022-04-01 13:49:16.000000000","message":"Done","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a0bd4f8d277088101ddec766db3ba7a7e3224ac5","unresolved":true,"context_lines":[{"line_number":211,"context_line":"                   \u0027Trustee User ID\u0027, \u0027Trustor User ID\u0027)"},{"line_number":212,"context_line":"        identity_client \u003d self.app.client_manager.identity"},{"line_number":213,"context_line":"        auth_ref \u003d self.app.client_manager.auth_ref"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        if parsed_args.authuser:"},{"line_number":216,"context_line":"            if auth_ref:"},{"line_number":217,"context_line":"                user \u003d common.find_user("}],"source_content_type":"text/x-python","patch_set":3,"id":"3627a93d_92e70bc5","line":214,"updated":"2022-03-09 11:44:31.000000000","message":"You need a conditional that errors out if \u0027--authuser\u0027 is specified alongside any of the other options here:\n\n  if parsed_args.authuser and any([\n      parsed_args.trustor_user,\n      parsed_args.trustor_domain,\n      parsed_args.trustee_user,\n      parsed_args.trustee_domain,\n  ]):\n      msg \u003d _(\"...\")\n      raise exceptions.CommandError(msg)\n\nYou could also error out if one of the domain arguments is specified if the corresponding user argument isn\u0027t provided but that\u0027s very much a nice-to-have.","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":31080,"name":"Nicolas Belouin","email":"nicolas.belouin@suse.com","username":"diconico07"},"change_message_id":"7c3c4595d3d99dfae48f9a968c33027779910203","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                   \u0027Trustee User ID\u0027, \u0027Trustor User ID\u0027)"},{"line_number":212,"context_line":"        identity_client \u003d self.app.client_manager.identity"},{"line_number":213,"context_line":"        auth_ref \u003d self.app.client_manager.auth_ref"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        if parsed_args.authuser:"},{"line_number":216,"context_line":"            if auth_ref:"},{"line_number":217,"context_line":"                user \u003d common.find_user("}],"source_content_type":"text/x-python","patch_set":3,"id":"cf6f2aa4_793a2eb0","line":214,"in_reply_to":"3627a93d_92e70bc5","updated":"2022-04-01 13:49:16.000000000","message":"Done","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a0bd4f8d277088101ddec766db3ba7a7e3224ac5","unresolved":true,"context_lines":[{"line_number":220,"context_line":"                )"},{"line_number":221,"context_line":"                data1 \u003d identity_client.trusts.list("},{"line_number":222,"context_line":"                    trustor_user\u003duser,"},{"line_number":223,"context_line":"                )"},{"line_number":224,"context_line":"                data2 \u003d identity_client.trusts.list("},{"line_number":225,"context_line":"                    trustee_user\u003duser,"},{"line_number":226,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":3,"id":"d0beb170_598eed0f","line":223,"updated":"2022-03-09 11:44:31.000000000","message":"nit: would fit on one line","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":31080,"name":"Nicolas Belouin","email":"nicolas.belouin@suse.com","username":"diconico07"},"change_message_id":"7c3c4595d3d99dfae48f9a968c33027779910203","unresolved":false,"context_lines":[{"line_number":220,"context_line":"                )"},{"line_number":221,"context_line":"                data1 \u003d identity_client.trusts.list("},{"line_number":222,"context_line":"                    trustor_user\u003duser,"},{"line_number":223,"context_line":"                )"},{"line_number":224,"context_line":"                data2 \u003d identity_client.trusts.list("},{"line_number":225,"context_line":"                    trustee_user\u003duser,"},{"line_number":226,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":3,"id":"de4ad70f_fc391b26","line":223,"in_reply_to":"d0beb170_598eed0f","updated":"2022-04-01 13:49:16.000000000","message":"Done","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a0bd4f8d277088101ddec766db3ba7a7e3224ac5","unresolved":true,"context_lines":[{"line_number":223,"context_line":"                )"},{"line_number":224,"context_line":"                data2 \u003d identity_client.trusts.list("},{"line_number":225,"context_line":"                    trustee_user\u003duser,"},{"line_number":226,"context_line":"                )"},{"line_number":227,"context_line":"                data \u003d set(data1 + data2)"},{"line_number":228,"context_line":"        else:"},{"line_number":229,"context_line":"            trustor \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"c337f563_219249b6","line":226,"updated":"2022-03-09 11:44:31.000000000","message":"ditto","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":31080,"name":"Nicolas Belouin","email":"nicolas.belouin@suse.com","username":"diconico07"},"change_message_id":"7c3c4595d3d99dfae48f9a968c33027779910203","unresolved":false,"context_lines":[{"line_number":223,"context_line":"                )"},{"line_number":224,"context_line":"                data2 \u003d identity_client.trusts.list("},{"line_number":225,"context_line":"                    trustee_user\u003duser,"},{"line_number":226,"context_line":"                )"},{"line_number":227,"context_line":"                data \u003d set(data1 + data2)"},{"line_number":228,"context_line":"        else:"},{"line_number":229,"context_line":"            trustor \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"fb09d7cb_fe5913d4","line":226,"in_reply_to":"c337f563_219249b6","updated":"2022-04-01 13:49:16.000000000","message":"Done","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a0bd4f8d277088101ddec766db3ba7a7e3224ac5","unresolved":true,"context_lines":[{"line_number":224,"context_line":"                data2 \u003d identity_client.trusts.list("},{"line_number":225,"context_line":"                    trustee_user\u003duser,"},{"line_number":226,"context_line":"                )"},{"line_number":227,"context_line":"                data \u003d set(data1 + data2)"},{"line_number":228,"context_line":"        else:"},{"line_number":229,"context_line":"            trustor \u003d None"},{"line_number":230,"context_line":"            if parsed_args.trustor:"}],"source_content_type":"text/x-python","patch_set":3,"id":"d2478734_50755218","line":227,"updated":"2022-03-09 11:44:31.000000000","message":"Why doe these have to be separate calls to \u0027identity_client.trusts.list\u0027, while below we can do it in one call? Can you add a comment explaining the logic here?","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":31080,"name":"Nicolas Belouin","email":"nicolas.belouin@suse.com","username":"diconico07"},"change_message_id":"7c3c4595d3d99dfae48f9a968c33027779910203","unresolved":false,"context_lines":[{"line_number":224,"context_line":"                data2 \u003d identity_client.trusts.list("},{"line_number":225,"context_line":"                    trustee_user\u003duser,"},{"line_number":226,"context_line":"                )"},{"line_number":227,"context_line":"                data \u003d set(data1 + data2)"},{"line_number":228,"context_line":"        else:"},{"line_number":229,"context_line":"            trustor \u003d None"},{"line_number":230,"context_line":"            if parsed_args.trustor:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3b654b3d_ba88bbf5","line":227,"in_reply_to":"d2478734_50755218","updated":"2022-04-01 13:49:16.000000000","message":"Done","commit_id":"fa89991a0041ce32419b83048d13d317f252d068"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"95f5e4c5c6d61ec96ce0656e09005d9213d5bed1","unresolved":true,"context_lines":[{"line_number":253,"context_line":"            if parsed_args.trustee:"},{"line_number":254,"context_line":"                trustee \u003d common.find_user("},{"line_number":255,"context_line":"                    identity_client,"},{"line_number":256,"context_line":"                    parsed_args.trustor,"},{"line_number":257,"context_line":"                    parsed_args.trustor_domain,"},{"line_number":258,"context_line":"                )"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"            data \u003d self.app.client_manager.identity.trusts.list("}],"source_content_type":"text/x-python","patch_set":6,"id":"6280965b_19a7e209","line":257,"range":{"start_line":256,"start_character":14,"end_line":257,"end_character":47},"updated":"2024-08-28 17:54:48.000000000","message":"code scanning says these shoudl be \n\n```suggestion\n                    parsed_args.trustee,\n                    parsed_args.trustee_domain,\n```\n\naprently no one uses this...","commit_id":"64e4520b2a79b9046a791f5e3729f5cbfc2d3fa5"}]}
