)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5fb7d4ce6d50e32a47c0f0e79fff13b629d62560","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"09cf6137_a0521c82","updated":"2025-04-04 13:03:41.000000000","message":"You also need to update the proxy does in `doc/source/user/proxies`","commit_id":"47587d6f7983b04ffb0f451f199a7706437132f4"},{"author":{"_account_id":34149,"name":"Niklas Schwarz","email":"niklas.schwarz@inovex.de","username":"nschwarz"},"change_message_id":"5e37bf5c59b20a72a0bc83bccd223d0a68ea182f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"68ad420c_b329d9b9","in_reply_to":"09cf6137_a0521c82","updated":"2025-04-07 15:33:08.000000000","message":"Add the function to the identity_v3 docs. Do I need to add it to any other documentation","commit_id":"47587d6f7983b04ffb0f451f199a7706437132f4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2e0de08c3b2c747ba2e63bc94bc5e3d653489e89","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ee66b1e4_1a9fa1ce","in_reply_to":"68ad420c_b329d9b9","updated":"2025-04-07 15:55:07.000000000","message":"Ideally you\u0027d add the class to https://opendev.org/openstack/openstacksdk/src/branch/master/doc/source/user/resources/identity/v3/group.rst also. If you need to respin this, please do. Otherwise we can manage without","commit_id":"47587d6f7983b04ffb0f451f199a7706437132f4"},{"author":{"_account_id":34149,"name":"Niklas Schwarz","email":"niklas.schwarz@inovex.de","username":"nschwarz"},"change_message_id":"85cf3b732e3b3af7cccaa17b4fea85456addc0b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"816d45d2_7d654810","in_reply_to":"ee66b1e4_1a9fa1ce","updated":"2025-04-07 19:06:29.000000000","message":"Done","commit_id":"47587d6f7983b04ffb0f451f199a7706437132f4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2e0de08c3b2c747ba2e63bc94bc5e3d653489e89","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e59d062b_607e1ad6","updated":"2025-04-07 15:55:07.000000000","message":"Waiting on CI but this looks good","commit_id":"a6d4fa296e211798569d01c92957ad550f4ca6dc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7b78161400209e3fb1d6602d804c145cea874b6e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6588200a_04232d59","updated":"2025-04-07 15:56:34.000000000","message":"actually, spotted one thing inline","commit_id":"a6d4fa296e211798569d01c92957ad550f4ca6dc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"420f6ddac4a02e32569169ffb3ad3be8070c0f8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a5ff618b_5ea478d6","updated":"2025-04-08 10:45:43.000000000","message":"Thank for following up here 🙏","commit_id":"c7f3d1494e7417e8f55fe26a3a598b62abe58087"}],"openstack/identity/v3/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a0c571e09430fb8ac72888e56888f23860cb791a","unresolved":true,"context_lines":[{"line_number":945,"context_line":"        user \u003d self._get_resource(_user.User, user)"},{"line_number":946,"context_line":"        base_path \u003d utils.urljoin(user.base_path, user.id, \u0027groups\u0027)"},{"line_number":947,"context_line":"        groups \u003d self._list(_group.Group, base_path\u003dbase_path)"},{"line_number":948,"context_line":"        return groups"},{"line_number":949,"context_line":""},{"line_number":950,"context_line":"    def users(self, **query):"},{"line_number":951,"context_line":"        \"\"\"Retrieve a generator of users"}],"source_content_type":"text/x-python","patch_set":3,"id":"f9b53bcd_3f7bfd49","line":948,"updated":"2025-04-04 13:03:14.000000000","message":"The usual way to do this is to create a class that derives from `Group` but overrides the basepath. For example: I9aa39810fe94f7ee9b68d34050f4adb9dbdfccb8. Could we do that?","commit_id":"47587d6f7983b04ffb0f451f199a7706437132f4"},{"author":{"_account_id":34149,"name":"Niklas Schwarz","email":"niklas.schwarz@inovex.de","username":"nschwarz"},"change_message_id":"5e37bf5c59b20a72a0bc83bccd223d0a68ea182f","unresolved":false,"context_lines":[{"line_number":945,"context_line":"        user \u003d self._get_resource(_user.User, user)"},{"line_number":946,"context_line":"        base_path \u003d utils.urljoin(user.base_path, user.id, \u0027groups\u0027)"},{"line_number":947,"context_line":"        groups \u003d self._list(_group.Group, base_path\u003dbase_path)"},{"line_number":948,"context_line":"        return groups"},{"line_number":949,"context_line":""},{"line_number":950,"context_line":"    def users(self, **query):"},{"line_number":951,"context_line":"        \"\"\"Retrieve a generator of users"}],"source_content_type":"text/x-python","patch_set":3,"id":"ef1ba629_cdb155ce","line":948,"in_reply_to":"f9b53bcd_3f7bfd49","updated":"2025-04-07 15:33:08.000000000","message":"Updated the code and created a class UserGroup which inherits from Group.","commit_id":"47587d6f7983b04ffb0f451f199a7706437132f4"}],"openstack/identity/v3/group.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7b78161400209e3fb1d6602d804c145cea874b6e","unresolved":true,"context_lines":[{"line_number":74,"context_line":"        if resp.status_code \u003d\u003d 204:"},{"line_number":75,"context_line":"            return True"},{"line_number":76,"context_line":"        return False"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"class UserGroup(Group):"},{"line_number":79,"context_line":"    base_path \u003d \u0027/users/%(user_id)%/groups\u0027"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"997cc857_3864d2be","line":77,"updated":"2025-04-07 15:56:34.000000000","message":"I think this will fail CI as there should be two lines here. Please run `tox -e pep8` or install and enable pre-commit (`sudo apt install pre-commit; pre-commit install; pre-commit run -a`...you won\u0027t need to do the last step going forward since it will run automatically).","commit_id":"a6d4fa296e211798569d01c92957ad550f4ca6dc"},{"author":{"_account_id":34149,"name":"Niklas Schwarz","email":"niklas.schwarz@inovex.de","username":"nschwarz"},"change_message_id":"85cf3b732e3b3af7cccaa17b4fea85456addc0b8","unresolved":true,"context_lines":[{"line_number":74,"context_line":"        if resp.status_code \u003d\u003d 204:"},{"line_number":75,"context_line":"            return True"},{"line_number":76,"context_line":"        return False"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"class UserGroup(Group):"},{"line_number":79,"context_line":"    base_path \u003d \u0027/users/%(user_id)%/groups\u0027"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"aff479ed_3317c0b8","line":77,"in_reply_to":"997cc857_3864d2be","updated":"2025-04-07 19:06:29.000000000","message":"Good catch. Just wondering why I haven\u0027t caught it. I thought I had run pep8 before commiting.\nAdded the line as well as the additional documentation","commit_id":"a6d4fa296e211798569d01c92957ad550f4ca6dc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4b4fa6c435df29ada4b7bd8a526010c5a2c30317","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        if resp.status_code \u003d\u003d 204:"},{"line_number":75,"context_line":"            return True"},{"line_number":76,"context_line":"        return False"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"class UserGroup(Group):"},{"line_number":79,"context_line":"    base_path \u003d \u0027/users/%(user_id)%/groups\u0027"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"013c5733_d2030d26","line":77,"in_reply_to":"aff479ed_3317c0b8","updated":"2025-04-08 10:44:55.000000000","message":"Done","commit_id":"a6d4fa296e211798569d01c92957ad550f4ca6dc"}],"openstack/tests/unit/identity/v3/test_proxy.py":[{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"95e7565510f763ac681dcb675f8caeaf22302f22","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import uuid"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from openstack.identity.v3 import ("},{"line_number":16,"context_line":"    _proxy,"},{"line_number":17,"context_line":"    access_rule,"},{"line_number":18,"context_line":"    credential,"}],"source_content_type":"text/x-python","patch_set":2,"id":"15882747_aa90288e","line":15,"updated":"2025-02-17 12:59:12.000000000","message":"I am very wondering no check is complaining about that. I am sure previously hacking or flake was forcing us to have a single module per import complaining about such import structure. Can you please revert it as it is definitely not related to the change and not sure it is something we want to introduce.","commit_id":"5aebaa214421852440ecdd030707d4d1ac3f0f15"},{"author":{"_account_id":34149,"name":"Niklas Schwarz","email":"niklas.schwarz@inovex.de","username":"nschwarz"},"change_message_id":"eedc27cb452f493fe9e81d6d9a4ac5df83773518","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import uuid"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from openstack.identity.v3 import ("},{"line_number":16,"context_line":"    _proxy,"},{"line_number":17,"context_line":"    access_rule,"},{"line_number":18,"context_line":"    credential,"}],"source_content_type":"text/x-python","patch_set":2,"id":"d84b5ba7_ac222a6b","line":15,"in_reply_to":"15882747_aa90288e","updated":"2025-02-17 13:31:54.000000000","message":"Sorry for that change. The auto formatter of the ide has kicked in and I did not notice this change. Should be reverted in the new patchset","commit_id":"5aebaa214421852440ecdd030707d4d1ac3f0f15"}]}
