)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"02f0df3d81355505aefd94e33cd9228402d0283d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"dc13a2bb_54d5cbf5","updated":"2026-09-16 07:53:50.000000000","message":"the code has modified since I last touched that :-|","commit_id":"123c4ebaebc66f59aa959bfe4b15a65c42a26a44"}],"openstack/resource.py":[{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"02f0df3d81355505aefd94e33cd9228402d0283d","unresolved":true,"context_lines":[{"line_number":381,"context_line":"                    # (e.g. \"tag-1\" -\u003e \"t,a,g,-,1\")"},{"line_number":382,"context_line":"                    if value is None or isinstance(value, str):"},{"line_number":383,"context_line":"                        result[name] \u003d value"},{"line_number":384,"context_line":"                    else:"},{"line_number":385,"context_line":"                        result[name] \u003d \u0027,\u0027.join("},{"line_number":386,"context_line":"                            field_mapping.get(x, x) for x in value"},{"line_number":387,"context_line":"                        )"}],"source_content_type":"text/x-python","patch_set":1,"id":"76b1a5bf_72935207","line":384,"updated":"2026-09-16 07:53:50.000000000","message":"now with value \u003d [] \u003d\u003e `params[\u0027tags\u0027] \u003d \u0027\u0027` and not None. It is a potential door for other unexpected things.","commit_id":"123c4ebaebc66f59aa959bfe4b15a65c42a26a44"},{"author":{"_account_id":39399,"name":"Vladislav Terekhov","display_name":"Vlad","email":"VlSTerekhov@gmail.com","username":"tepex"},"change_message_id":"c7d3b2a30e1d5d4656f0c885cf086dc67d1723bd","unresolved":true,"context_lines":[{"line_number":381,"context_line":"                    # (e.g. \"tag-1\" -\u003e \"t,a,g,-,1\")"},{"line_number":382,"context_line":"                    if value is None or isinstance(value, str):"},{"line_number":383,"context_line":"                        result[name] \u003d value"},{"line_number":384,"context_line":"                    else:"},{"line_number":385,"context_line":"                        result[name] \u003d \u0027,\u0027.join("},{"line_number":386,"context_line":"                            field_mapping.get(x, x) for x in value"},{"line_number":387,"context_line":"                        )"}],"source_content_type":"text/x-python","patch_set":1,"id":"50fafcd3_55e40302","line":384,"in_reply_to":"76b1a5bf_72935207","updated":"2026-09-16 14:47:49.000000000","message":"Good point. Fixed it to `None`","commit_id":"123c4ebaebc66f59aa959bfe4b15a65c42a26a44"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"84ee7927055e40f4fff279cc7c3831aea4d2cfc8","unresolved":false,"context_lines":[{"line_number":386,"context_line":"                            field_mapping.get(x, x) for x in value"},{"line_number":387,"context_line":"                        )"},{"line_number":388,"context_line":"                    else:"},{"line_number":389,"context_line":"                        result[name] \u003d None"},{"line_number":390,"context_line":"                case None:"},{"line_number":391,"context_line":"                    result[name] \u003d value"},{"line_number":392,"context_line":"        return result"}],"source_content_type":"text/x-python","patch_set":2,"id":"f5cf2faa_5b0a68c0","line":389,"updated":"2026-09-16 16:20:03.000000000","message":"pep8: error: Incompatible types in assignment (expression has type \"None\", target has type \"str\")  [assignment]","commit_id":"ca42535ed9f4bddc339c96f1bf816d7269e6d3a9"}],"openstack/tests/unit/orchestration/v1/test_stack.py":[{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"02f0df3d81355505aefd94e33cd9228402d0283d","unresolved":true,"context_lines":[{"line_number":142,"context_line":"                \u0027project_id\u0027: \u0027tenant_id\u0027,"},{"line_number":143,"context_line":"                \u0027status\u0027: \u0027status\u0027,"},{"line_number":144,"context_line":"                \u0027username\u0027: \u0027username\u0027,"},{"line_number":145,"context_line":"                **tag.TagMixin._tag_query_parameters,"},{"line_number":146,"context_line":"            },"},{"line_number":147,"context_line":"            sot._query_mapping._mapping,"},{"line_number":148,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":1,"id":"a7299440_9ea5a83a","line":145,"updated":"2026-09-16 07:53:50.000000000","message":"I just noticed in heat api-ref, that it is deviating from the convention and use \"tags_any\", \"not_tags_any\", \"not_tags\" with underscores and not with dashes. I am honestly unsure what it is in reality","commit_id":"123c4ebaebc66f59aa959bfe4b15a65c42a26a44"},{"author":{"_account_id":39399,"name":"Vladislav Terekhov","display_name":"Vlad","email":"VlSTerekhov@gmail.com","username":"tepex"},"change_message_id":"c7d3b2a30e1d5d4656f0c885cf086dc67d1723bd","unresolved":true,"context_lines":[{"line_number":142,"context_line":"                \u0027project_id\u0027: \u0027tenant_id\u0027,"},{"line_number":143,"context_line":"                \u0027status\u0027: \u0027status\u0027,"},{"line_number":144,"context_line":"                \u0027username\u0027: \u0027username\u0027,"},{"line_number":145,"context_line":"                **tag.TagMixin._tag_query_parameters,"},{"line_number":146,"context_line":"            },"},{"line_number":147,"context_line":"            sot._query_mapping._mapping,"},{"line_number":148,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":1,"id":"8379a399_d31d4ffc","line":145,"in_reply_to":"a7299440_9ea5a83a","updated":"2026-09-16 14:47:49.000000000","message":"You right. I checked and created new MR: https://review.opendev.org/c/openstack/openstacksdk/+/1005901","commit_id":"123c4ebaebc66f59aa959bfe4b15a65c42a26a44"}],"openstack/tests/unit/test_resource.py":[{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"02f0df3d81355505aefd94e33cd9228402d0283d","unresolved":true,"context_lines":[{"line_number":245,"context_line":"        sot \u003d resource.QueryParameters("},{"line_number":246,"context_line":"            \"location\", **tag.TagMixin._tag_query_parameters"},{"line_number":247,"context_line":"        )"},{"line_number":248,"context_line":"        result \u003d sot._transpose({\"tags\": \"aaa\"}, mock.sentinel.resource_type)"},{"line_number":249,"context_line":"        self.assertEqual({\"tags\": \"aaa\"}, result)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7e97f3c7_510c6216","line":248,"updated":"2026-09-16 07:53:50.000000000","message":"not sure this is useful, mock.sentinel.resource_type should be empty (resource_type.__dict__), so something more like a real resource shape object should be used.","commit_id":"123c4ebaebc66f59aa959bfe4b15a65c42a26a44"},{"author":{"_account_id":39399,"name":"Vladislav Terekhov","display_name":"Vlad","email":"VlSTerekhov@gmail.com","username":"tepex"},"change_message_id":"c7d3b2a30e1d5d4656f0c885cf086dc67d1723bd","unresolved":true,"context_lines":[{"line_number":245,"context_line":"        sot \u003d resource.QueryParameters("},{"line_number":246,"context_line":"            \"location\", **tag.TagMixin._tag_query_parameters"},{"line_number":247,"context_line":"        )"},{"line_number":248,"context_line":"        result \u003d sot._transpose({\"tags\": \"aaa\"}, mock.sentinel.resource_type)"},{"line_number":249,"context_line":"        self.assertEqual({\"tags\": \"aaa\"}, result)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7257c853_79ab818d","line":248,"in_reply_to":"7e97f3c7_510c6216","updated":"2026-09-16 14:47:49.000000000","message":"Done","commit_id":"123c4ebaebc66f59aa959bfe4b15a65c42a26a44"}]}
