)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a58a60c2ffad9234926750b49466195185338e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a189ad88_e694df29","updated":"2023-07-17 10:47:25.000000000","message":"Couple of comments inline. I wonder if we can get functional tests for this also? We have multiple projects so it should be doable?","commit_id":"261836707ab26693453f707efe5e3cf16de51918"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ebb944398f83cc9b70fdde7ec0f3d90f44e84d09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ce3088f5_d2a8eb1d","updated":"2023-08-28 10:52:54.000000000","message":"One small comment. Otherwise lgtm","commit_id":"923958477e4216d303a32dc12ae703e27ac01e4d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"186ccd44e91ea427c4aa4d486eac3f1ad424e9b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"06b23544_c4c964a6","updated":"2023-07-20 10:11:41.000000000","message":"Thanks Stephen","commit_id":"923958477e4216d303a32dc12ae703e27ac01e4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5458be52f4d015db10fc1132330817c7b7c24eea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"4958ef6d_52521f33","updated":"2023-10-31 09:40:59.000000000","message":"This will need a new +2 once the previous change is updated, so feel free to carry my +2 if/when that happens.","commit_id":"1aa31cbd15919e8b4beeb0184d166b535c5a3f00"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3e5aef731d8bd793b785ce6444f879574e997350","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1aa12d7e_d6f058f1","updated":"2023-10-31 09:48:03.000000000","message":"Fixed my own nit on previous change","commit_id":"40fdf3ae2aec77f88f2393c7caab8816b80b9e67"}],"doc/source/user/proxies/block_storage_v3.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"42676bb7a18589cfd9206adf3b0caa520950713f","unresolved":true,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":".. autoclass:: openstack.block_storage.v3._proxy.Proxy"},{"line_number":164,"context_line":"  :noindex:"},{"line_number":165,"context_line":"  :members: create_transfer, delete_transfer, find_transfer"},{"line_number":166,"context_line":"            get_transfer, transfers, accept_transfer"}],"source_content_type":"text/x-rst","patch_set":7,"id":"8c77601c_5e11e02a","line":165,"updated":"2023-10-31 11:52:20.000000000","message":"whoops, missing comma","commit_id":"40fdf3ae2aec77f88f2393c7caab8816b80b9e67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0e83bd8e4330edcecbbff073b42f1c2bb2bb0ff4","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":".. autoclass:: openstack.block_storage.v3._proxy.Proxy"},{"line_number":164,"context_line":"  :noindex:"},{"line_number":165,"context_line":"  :members: create_transfer, delete_transfer, find_transfer"},{"line_number":166,"context_line":"            get_transfer, transfers, accept_transfer"}],"source_content_type":"text/x-rst","patch_set":7,"id":"2aab45f5_6f9c2794","line":165,"in_reply_to":"8c77601c_5e11e02a","updated":"2023-10-31 11:52:53.000000000","message":"Done","commit_id":"40fdf3ae2aec77f88f2393c7caab8816b80b9e67"}],"openstack/block_storage/v3/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a58a60c2ffad9234926750b49466195185338e7","unresolved":true,"context_lines":[{"line_number":1681,"context_line":"        \"\"\""},{"line_number":1682,"context_line":"        if all_projects:"},{"line_number":1683,"context_line":"            query[\u0027all_projects\u0027] \u003d True"},{"line_number":1684,"context_line":"        base_path \u003d \u0027/volume-transfers/detail\u0027 if details else None"},{"line_number":1685,"context_line":"        return self._list(_transfer.Transfer, base_path\u003dbase_path, **query)"},{"line_number":1686,"context_line":""},{"line_number":1687,"context_line":"    def accept_transfer(self, transfer_id, auth_key):"}],"source_content_type":"text/x-python","patch_set":2,"id":"813618f4_49802750","line":1684,"updated":"2023-07-17 10:47:25.000000000","message":"Don\u0027t you need to check the API version to make sure you\u0027re not on e.g. API microversion 3.54 (or anything \u003c 3.55)?","commit_id":"261836707ab26693453f707efe5e3cf16de51918"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"186ccd44e91ea427c4aa4d486eac3f1ad424e9b3","unresolved":false,"context_lines":[{"line_number":1681,"context_line":"        \"\"\""},{"line_number":1682,"context_line":"        if all_projects:"},{"line_number":1683,"context_line":"            query[\u0027all_projects\u0027] \u003d True"},{"line_number":1684,"context_line":"        base_path \u003d \u0027/volume-transfers/detail\u0027 if details else None"},{"line_number":1685,"context_line":"        return self._list(_transfer.Transfer, base_path\u003dbase_path, **query)"},{"line_number":1686,"context_line":""},{"line_number":1687,"context_line":"    def accept_transfer(self, transfer_id, auth_key):"}],"source_content_type":"text/x-python","patch_set":2,"id":"cc5f47eb_df0f20f6","line":1684,"in_reply_to":"813618f4_49802750","updated":"2023-07-20 10:11:41.000000000","message":"Done","commit_id":"261836707ab26693453f707efe5e3cf16de51918"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ebb944398f83cc9b70fdde7ec0f3d90f44e84d09","unresolved":true,"context_lines":[{"line_number":1689,"context_line":"        if not utils.supports_microversion(self, \u00273.55\u0027):"},{"line_number":1690,"context_line":"            base_path \u003d \u0027/os-volume-transfer\u0027"},{"line_number":1691,"context_line":"        if details:"},{"line_number":1692,"context_line":"            base_path \u003d os.path.join(base_path, \u0027detail\u0027)"},{"line_number":1693,"context_line":"        return self._list(_transfer.Transfer, base_path\u003dbase_path, **query)"},{"line_number":1694,"context_line":""},{"line_number":1695,"context_line":"    def accept_transfer(self, transfer_id, auth_key):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa50cb22_b527cb23","line":1692,"updated":"2023-08-28 10:52:54.000000000","message":"Don\u0027t use `os.path`: that will break on Windows. Use `urljoin` from `openstack.utils`.","commit_id":"923958477e4216d303a32dc12ae703e27ac01e4d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2698bbe7975acfba861648dfaf2d1e6a0e4fea8d","unresolved":false,"context_lines":[{"line_number":1689,"context_line":"        if not utils.supports_microversion(self, \u00273.55\u0027):"},{"line_number":1690,"context_line":"            base_path \u003d \u0027/os-volume-transfer\u0027"},{"line_number":1691,"context_line":"        if details:"},{"line_number":1692,"context_line":"            base_path \u003d os.path.join(base_path, \u0027detail\u0027)"},{"line_number":1693,"context_line":"        return self._list(_transfer.Transfer, base_path\u003dbase_path, **query)"},{"line_number":1694,"context_line":""},{"line_number":1695,"context_line":"    def accept_transfer(self, transfer_id, auth_key):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f2799f6_ef625c01","line":1692,"in_reply_to":"fa50cb22_b527cb23","updated":"2023-09-04 19:43:55.000000000","message":"Done","commit_id":"923958477e4216d303a32dc12ae703e27ac01e4d"}],"openstack/block_storage/v3/transfer.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a58a60c2ffad9234926750b49466195185338e7","unresolved":true,"context_lines":[{"line_number":72,"context_line":"        transfer._translate_response(response\u003dresp)"},{"line_number":73,"context_line":"        return transfer"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def accept(self, session, transfer_id, auth_key):"},{"line_number":76,"context_line":"        body \u003d {\u0027accept\u0027: {\u0027auth_key\u0027: auth_key}}"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        url \u003d \u0027/os-volume-transfer/%s/accept\u0027 % transfer_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf4d65ec_2b99b440","line":75,"range":{"start_line":75,"start_character":30,"end_line":75,"end_character":41},"updated":"2023-07-17 10:47:25.000000000","message":"This isn\u0027t necessary since this is a method which means you have access to instance attributes. Just use `self.id`.","commit_id":"261836707ab26693453f707efe5e3cf16de51918"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"186ccd44e91ea427c4aa4d486eac3f1ad424e9b3","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        transfer._translate_response(response\u003dresp)"},{"line_number":73,"context_line":"        return transfer"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def accept(self, session, transfer_id, auth_key):"},{"line_number":76,"context_line":"        body \u003d {\u0027accept\u0027: {\u0027auth_key\u0027: auth_key}}"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        url \u003d \u0027/os-volume-transfer/%s/accept\u0027 % transfer_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"b84c0b35_066f2b29","line":75,"range":{"start_line":75,"start_character":30,"end_line":75,"end_character":41},"in_reply_to":"bf4d65ec_2b99b440","updated":"2023-07-20 10:11:41.000000000","message":"Done","commit_id":"261836707ab26693453f707efe5e3cf16de51918"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a58a60c2ffad9234926750b49466195185338e7","unresolved":true,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        url \u003d \u0027/os-volume-transfer/%s/accept\u0027 % transfer_id"},{"line_number":79,"context_line":"        if utils.supports_microversion(session, \u00273.55\u0027):"},{"line_number":80,"context_line":"            url \u003d \u0027/volume-transfers/%s/accept\u0027 % transfer_id"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        microversion \u003d self._get_microversion(session, action\u003d\u0027create\u0027)"},{"line_number":83,"context_line":"        resp \u003d session.post("}],"source_content_type":"text/x-python","patch_set":2,"id":"bd538afb_b230ee3f","line":80,"updated":"2023-07-17 10:47:25.000000000","message":"Can you use `utils.urljoin` instead?","commit_id":"261836707ab26693453f707efe5e3cf16de51918"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"186ccd44e91ea427c4aa4d486eac3f1ad424e9b3","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        url \u003d \u0027/os-volume-transfer/%s/accept\u0027 % transfer_id"},{"line_number":79,"context_line":"        if utils.supports_microversion(session, \u00273.55\u0027):"},{"line_number":80,"context_line":"            url \u003d \u0027/volume-transfers/%s/accept\u0027 % transfer_id"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        microversion \u003d self._get_microversion(session, action\u003d\u0027create\u0027)"},{"line_number":83,"context_line":"        resp \u003d session.post("}],"source_content_type":"text/x-python","patch_set":2,"id":"bba50b27_00ac3295","line":80,"in_reply_to":"bd538afb_b230ee3f","updated":"2023-07-20 10:11:41.000000000","message":"Done","commit_id":"261836707ab26693453f707efe5e3cf16de51918"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3a58a60c2ffad9234926750b49466195185338e7","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        if utils.supports_microversion(session, \u00273.55\u0027):"},{"line_number":80,"context_line":"            url \u003d \u0027/volume-transfers/%s/accept\u0027 % transfer_id"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        microversion \u003d self._get_microversion(session, action\u003d\u0027create\u0027)"},{"line_number":83,"context_line":"        resp \u003d session.post("},{"line_number":84,"context_line":"            url,"},{"line_number":85,"context_line":"            json\u003dbody,"}],"source_content_type":"text/x-python","patch_set":2,"id":"2d1125b4_a2b87585","line":82,"range":{"start_line":82,"start_character":63,"end_line":82,"end_character":69},"updated":"2023-07-17 10:47:25.000000000","message":"`commit`? It\u0027s closer to an update, right?","commit_id":"261836707ab26693453f707efe5e3cf16de51918"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"186ccd44e91ea427c4aa4d486eac3f1ad424e9b3","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        if utils.supports_microversion(session, \u00273.55\u0027):"},{"line_number":80,"context_line":"            url \u003d \u0027/volume-transfers/%s/accept\u0027 % transfer_id"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        microversion \u003d self._get_microversion(session, action\u003d\u0027create\u0027)"},{"line_number":83,"context_line":"        resp \u003d session.post("},{"line_number":84,"context_line":"            url,"},{"line_number":85,"context_line":"            json\u003dbody,"}],"source_content_type":"text/x-python","patch_set":2,"id":"637b0611_4ba00c84","line":82,"range":{"start_line":82,"start_character":63,"end_line":82,"end_character":69},"in_reply_to":"2d1125b4_a2b87585","updated":"2023-07-20 10:11:41.000000000","message":"Done","commit_id":"261836707ab26693453f707efe5e3cf16de51918"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"141940db0b6b7a4146eb7cce43ef702261e518d8","unresolved":true,"context_lines":[{"line_number":114,"context_line":"        self._translate_response(response, has_body\u003dFalse, **kwargs)"},{"line_number":115,"context_line":"        return self"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def accept(self, session, *args, auth_key\u003dNone):"},{"line_number":118,"context_line":"        body \u003d {\u0027accept\u0027: {\u0027auth_key\u0027: auth_key}}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        url \u003d os.path.join(\u0027/os-volume-transfer\u0027, self.id, \u0027accept\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"707135d8_5c8564b0","line":117,"updated":"2023-08-28 10:54:09.000000000","message":"Could we get a docstring?","commit_id":"923958477e4216d303a32dc12ae703e27ac01e4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"141940db0b6b7a4146eb7cce43ef702261e518d8","unresolved":true,"context_lines":[{"line_number":114,"context_line":"        self._translate_response(response, has_body\u003dFalse, **kwargs)"},{"line_number":115,"context_line":"        return self"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def accept(self, session, *args, auth_key\u003dNone):"},{"line_number":118,"context_line":"        body \u003d {\u0027accept\u0027: {\u0027auth_key\u0027: auth_key}}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        url \u003d os.path.join(\u0027/os-volume-transfer\u0027, self.id, \u0027accept\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"80e7b0a7_3fb4324d","line":117,"range":{"start_line":117,"start_character":31,"end_line":117,"end_character":35},"updated":"2023-08-28 10:54:09.000000000","message":"I think you meant `*` ([kwarg-only arguments](https://peps.python.org/pep-3102/)) rather than `*args` here?","commit_id":"923958477e4216d303a32dc12ae703e27ac01e4d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2698bbe7975acfba861648dfaf2d1e6a0e4fea8d","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        self._translate_response(response, has_body\u003dFalse, **kwargs)"},{"line_number":115,"context_line":"        return self"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def accept(self, session, *args, auth_key\u003dNone):"},{"line_number":118,"context_line":"        body \u003d {\u0027accept\u0027: {\u0027auth_key\u0027: auth_key}}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        url \u003d os.path.join(\u0027/os-volume-transfer\u0027, self.id, \u0027accept\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"e6258035_82fd9779","line":117,"in_reply_to":"707135d8_5c8564b0","updated":"2023-09-04 19:43:55.000000000","message":"Done","commit_id":"923958477e4216d303a32dc12ae703e27ac01e4d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2698bbe7975acfba861648dfaf2d1e6a0e4fea8d","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        self._translate_response(response, has_body\u003dFalse, **kwargs)"},{"line_number":115,"context_line":"        return self"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def accept(self, session, *args, auth_key\u003dNone):"},{"line_number":118,"context_line":"        body \u003d {\u0027accept\u0027: {\u0027auth_key\u0027: auth_key}}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        url \u003d os.path.join(\u0027/os-volume-transfer\u0027, self.id, \u0027accept\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"59a60b57_e030b2d8","line":117,"range":{"start_line":117,"start_character":31,"end_line":117,"end_character":35},"in_reply_to":"80e7b0a7_3fb4324d","updated":"2023-09-04 19:43:55.000000000","message":"Done","commit_id":"923958477e4216d303a32dc12ae703e27ac01e4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ebb944398f83cc9b70fdde7ec0f3d90f44e84d09","unresolved":true,"context_lines":[{"line_number":117,"context_line":"    def accept(self, session, *args, auth_key\u003dNone):"},{"line_number":118,"context_line":"        body \u003d {\u0027accept\u0027: {\u0027auth_key\u0027: auth_key}}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        url \u003d os.path.join(\u0027/os-volume-transfer\u0027, self.id, \u0027accept\u0027)"},{"line_number":121,"context_line":"        if utils.supports_microversion(session, \u00273.55\u0027):"},{"line_number":122,"context_line":"            url \u003d os.path.join(\u0027/volume-transfers\u0027, self.id, \u0027accept\u0027)"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7919833d_6169a78e","line":120,"updated":"2023-08-28 10:52:54.000000000","message":"Same point: use `openstack.utils.urljoin`.","commit_id":"923958477e4216d303a32dc12ae703e27ac01e4d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2698bbe7975acfba861648dfaf2d1e6a0e4fea8d","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    def accept(self, session, *args, auth_key\u003dNone):"},{"line_number":118,"context_line":"        body \u003d {\u0027accept\u0027: {\u0027auth_key\u0027: auth_key}}"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        url \u003d os.path.join(\u0027/os-volume-transfer\u0027, self.id, \u0027accept\u0027)"},{"line_number":121,"context_line":"        if utils.supports_microversion(session, \u00273.55\u0027):"},{"line_number":122,"context_line":"            url \u003d os.path.join(\u0027/volume-transfers\u0027, self.id, \u0027accept\u0027)"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"006e133d_b90112d1","line":120,"in_reply_to":"7919833d_6169a78e","updated":"2023-09-04 19:43:55.000000000","message":"Done","commit_id":"923958477e4216d303a32dc12ae703e27ac01e4d"}]}
