)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"f60bd8ed030ab52fd79d5d305b9b3b0d2dcb9e0a","unresolved":true,"context_lines":[{"line_number":14,"context_line":"\":\" in the image name is recognized as an invalid operator."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This commit changes the behavior to handle unsupported operators for"},{"line_number":17,"context_line":"name as \"eq\" instead of returning an exception."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I92807698420b9df7f7983ccad2ed994403aa6611"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"812a4777_6ba73266","line":17,"range":{"start_line":17,"start_character":24,"end_line":17,"end_character":33},"updated":"2024-11-26 22:21:38.000000000","message":"Please add \"Closes-Bug: #2077010\" here as I think this is meant to fix https://bugs.launchpad.net/glance/+bug/2077010 .","commit_id":"06cb2f9224f181e4b8fa8f038d1db8c914b762f5"},{"author":{"_account_id":37389,"name":"Ryuji Maeda","display_name":"Ryuji Maeda","email":"rymaeda@lycorp.co.jp","username":"rymaeda"},"change_message_id":"7a60e385b93780e68c65c1b940e5bbe32581702c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\":\" in the image name is recognized as an invalid operator."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"This commit changes the behavior to handle unsupported operators for"},{"line_number":17,"context_line":"name as \"eq\" instead of returning an exception."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I92807698420b9df7f7983ccad2ed994403aa6611"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"6fe6a286_31d4c845","line":17,"range":{"start_line":17,"start_character":24,"end_line":17,"end_character":33},"in_reply_to":"812a4777_6ba73266","updated":"2024-12-13 03:03:43.000000000","message":"Thank you for your review, I added the link.","commit_id":"06cb2f9224f181e4b8fa8f038d1db8c914b762f5"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"f60bd8ed030ab52fd79d5d305b9b3b0d2dcb9e0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"02dc1d8c_35d98593","updated":"2024-11-26 22:21:38.000000000","message":"OK, so this works, but this causes issues when an image is literally named \"eq:something\". For instance:\n\n    def test_list_name_with_colon_weirdname(self):\n        filters \u003d {\u0027name\u0027: \"eq:image-name\"}\n        self.db.image_create(None, _db_fixture(\n            id\u003duuids.image5, name\u003d\"fake:image-name\",\n            is_public\u003dTrue\n        ))\n        images \u003d self.image_repo.list(filters\u003dfilters)\n        self.assertEqual(1, len(images))\n        self.assertEqual(\u0027eq:image-name\u0027, images[0].name)\n\nThis fails because we end up looking for an image called \"image-name\", not \"eq:image-name\".","commit_id":"06cb2f9224f181e4b8fa8f038d1db8c914b762f5"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"55d513ee9bd238c76e96228486f80b310f5f6ee7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"05cb7f1e_1c5ce807","updated":"2024-11-26 22:29:46.000000000","message":"Typo in the code above, this should be:\n\ndef test_list_name_with_colon_weirdname(self):\n    filters \u003d {\u0027name\u0027: \"eq:image-name\"}\n    self.db.image_create(None, _db_fixture(\n        id\u003duuids.image5, name\u003d\"eq:image-name\",\n        is_public\u003dTrue\n    ))\n    images \u003d self.image_repo.list(filters\u003dfilters)\n    self.assertEqual(1, len(images))\n    self.assertEqual(\u0027eq:image-name\u0027, images[0].name)\n    \nDamn","commit_id":"06cb2f9224f181e4b8fa8f038d1db8c914b762f5"},{"author":{"_account_id":37389,"name":"Ryuji Maeda","display_name":"Ryuji Maeda","email":"rymaeda@lycorp.co.jp","username":"rymaeda"},"change_message_id":"15c74a2c4ef2343c04f06099527c1ab2228b142a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"343f6c91_5c1c9063","updated":"2024-11-21 02:41:14.000000000","message":"recheck","commit_id":"06cb2f9224f181e4b8fa8f038d1db8c914b762f5"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"55d513ee9bd238c76e96228486f80b310f5f6ee7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"15f7ee7d_79ee37f3","in_reply_to":"02dc1d8c_35d98593","updated":"2024-11-26 22:29:46.000000000","message":"OK I cannot get this to be formatted properly, but in the above code you need to s/fake/eq/.","commit_id":"06cb2f9224f181e4b8fa8f038d1db8c914b762f5"},{"author":{"_account_id":37389,"name":"Ryuji Maeda","display_name":"Ryuji Maeda","email":"rymaeda@lycorp.co.jp","username":"rymaeda"},"change_message_id":"7a60e385b93780e68c65c1b940e5bbe32581702c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8e727a85_c2efc223","in_reply_to":"05cb7f1e_1c5ce807","updated":"2024-12-13 03:03:43.000000000","message":"To correctly search for an image named \"eq:image-name\", we need to use the following query:\n\"eq:eq:image-name\"\n\nThe query \"eq:image-name\" still searches for an image named \"image-name\".\nThis behavior should be the same as before.","commit_id":"06cb2f9224f181e4b8fa8f038d1db8c914b762f5"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"6d5a536508fdb8c05cd1f94e623cce653595b09c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6732077c_d8d6f99b","updated":"2024-12-04 10:11:40.000000000","message":"LGTM, (Tested locally)","commit_id":"81e4c76c07972b2bda707ad887df4e4f7713af33"},{"author":{"_account_id":37389,"name":"Ryuji Maeda","display_name":"Ryuji Maeda","email":"rymaeda@lycorp.co.jp","username":"rymaeda"},"change_message_id":"7a60e385b93780e68c65c1b940e5bbe32581702c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bd6e0db2_0570c77e","updated":"2024-12-13 03:03:43.000000000","message":"Oh, sorry, I just realized that comments aren\u0027t sent until I press this \"Reply\" button :)","commit_id":"81e4c76c07972b2bda707ad887df4e4f7713af33"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@linecorp.com","username":"masa"},"change_message_id":"92607dab2ea8956a54e2bae2be0bb96c25216f04","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"09b3a772_4f95d647","updated":"2024-12-13 02:19:24.000000000","message":"Thanks. LGTM","commit_id":"81e4c76c07972b2bda707ad887df4e4f7713af33"}],"glance/db/sqlalchemy/api.py":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"f60bd8ed030ab52fd79d5d305b9b3b0d2dcb9e0a","unresolved":true,"context_lines":[{"line_number":579,"context_line":"                else:"},{"line_number":580,"context_line":"                    msg \u003d (_(\"Unable to filter by unknown operator \u0027%s\u0027.\")"},{"line_number":581,"context_line":"                           % operator)"},{"line_number":582,"context_line":"                    raise exception.InvalidFilterOperatorValue(msg)"},{"line_number":583,"context_line":""},{"line_number":584,"context_line":"    for (k, value) in filters.items():"},{"line_number":585,"context_line":"        if hasattr(models.Image, k):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5dd69907_8e78e0c5","line":582,"range":{"start_line":582,"start_character":26,"end_line":582,"end_character":62},"updated":"2024-11-26 22:21:38.000000000","message":"You will need to write a similar fix for glance/db/simple/api.py so that the tests pass.","commit_id":"06cb2f9224f181e4b8fa8f038d1db8c914b762f5"},{"author":{"_account_id":37389,"name":"Ryuji Maeda","display_name":"Ryuji Maeda","email":"rymaeda@lycorp.co.jp","username":"rymaeda"},"change_message_id":"7a60e385b93780e68c65c1b940e5bbe32581702c","unresolved":false,"context_lines":[{"line_number":579,"context_line":"                else:"},{"line_number":580,"context_line":"                    msg \u003d (_(\"Unable to filter by unknown operator \u0027%s\u0027.\")"},{"line_number":581,"context_line":"                           % operator)"},{"line_number":582,"context_line":"                    raise exception.InvalidFilterOperatorValue(msg)"},{"line_number":583,"context_line":""},{"line_number":584,"context_line":"    for (k, value) in filters.items():"},{"line_number":585,"context_line":"        if hasattr(models.Image, k):"}],"source_content_type":"text/x-python","patch_set":1,"id":"37144c21_807738a2","line":582,"range":{"start_line":582,"start_character":26,"end_line":582,"end_character":62},"in_reply_to":"5dd69907_8e78e0c5","updated":"2024-12-13 03:03:43.000000000","message":"I also fixed glance/db/simple/api.py!","commit_id":"06cb2f9224f181e4b8fa8f038d1db8c914b762f5"}]}
