)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ed4deef8f6831439fe5c8e1c25576b9f93a0ca6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b52fa881_d781da04","updated":"2023-05-11 10:16:27.000000000","message":"Unit tests pending","commit_id":"2c2429d654dd74bade4ab767b969226c05620423"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"92855a756f722ea1b0a4f74f70604db6226899ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"fd34054f_56bbdfe3","updated":"2023-10-06 11:20:38.000000000","message":"This is looking pretty good. Can you add a release note?","commit_id":"8f2c93e8b9a4c5bc9b9fc0f18e656cfef270c3bc"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"0777d2a1deea548d773f8a73a03e4b9604be1b03","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"214a61d3_590659de","updated":"2024-02-28 04:34:10.000000000","message":"recheck","commit_id":"fbd175d98ba0ef49b0204c2c5f1f53b264c30916"}],"openstackclient/image/v2/image.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59a3d221257e5ea2a1b30f47d4e0ce1f675a0c3c","unresolved":true,"context_lines":[{"line_number":1901,"context_line":"        )"},{"line_number":1902,"context_line":"        parser.add_argument("},{"line_number":1903,"context_line":"            \u0027--store\u0027,"},{"line_number":1904,"context_line":"            metavar\u003d\u0027\u003cSTORE\u003e\u0027,"},{"line_number":1905,"context_line":"            dest\u003d\u0027stores\u0027,"},{"line_number":1906,"context_line":"            help\u003d_(\"Backend store to upload image to \"),"},{"line_number":1907,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"88bf98da_a7cadf98","line":1904,"range":{"start_line":1904,"start_character":22,"end_line":1904,"end_character":27},"updated":"2023-10-06 11:22:26.000000000","message":"why is this upper case?","commit_id":"8f2c93e8b9a4c5bc9b9fc0f18e656cfef270c3bc"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"9abf31b008a45a599d62151d7fbecaac509fe929","unresolved":false,"context_lines":[{"line_number":1901,"context_line":"        )"},{"line_number":1902,"context_line":"        parser.add_argument("},{"line_number":1903,"context_line":"            \u0027--store\u0027,"},{"line_number":1904,"context_line":"            metavar\u003d\u0027\u003cSTORE\u003e\u0027,"},{"line_number":1905,"context_line":"            dest\u003d\u0027stores\u0027,"},{"line_number":1906,"context_line":"            help\u003d_(\"Backend store to upload image to \"),"},{"line_number":1907,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"f34138c7_e0baea6d","line":1904,"range":{"start_line":1904,"start_character":22,"end_line":1904,"end_character":27},"in_reply_to":"88bf98da_a7cadf98","updated":"2023-10-09 07:19:25.000000000","message":"It was by mistake","commit_id":"8f2c93e8b9a4c5bc9b9fc0f18e656cfef270c3bc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59a3d221257e5ea2a1b30f47d4e0ce1f675a0c3c","unresolved":true,"context_lines":[{"line_number":1939,"context_line":"                    break"},{"line_number":1940,"context_line":"            if not valid:"},{"line_number":1941,"context_line":"                msg \u003d _("},{"line_number":1942,"context_line":"                    \"Store \u0027%s\u0027 is not valid a valid store.\""},{"line_number":1943,"context_line":"                    % parsed_args.stores"},{"line_number":1944,"context_line":"                )"},{"line_number":1945,"context_line":"                raise exceptions.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"c694e653_3c4580b3","line":1942,"range":{"start_line":1942,"start_character":35,"end_line":1942,"end_character":59},"updated":"2023-10-06 11:22:26.000000000","message":"huh?","commit_id":"8f2c93e8b9a4c5bc9b9fc0f18e656cfef270c3bc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a6ec87a65594685734f13e7ad485e476eb4e6e3","unresolved":true,"context_lines":[{"line_number":1939,"context_line":"                    break"},{"line_number":1940,"context_line":"            if not valid:"},{"line_number":1941,"context_line":"                msg \u003d _("},{"line_number":1942,"context_line":"                    \"Store \u0027%s\u0027 is not valid a valid store.\""},{"line_number":1943,"context_line":"                    % parsed_args.stores"},{"line_number":1944,"context_line":"                )"},{"line_number":1945,"context_line":"                raise exceptions.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ab6b8d0_e7b713b7","line":1942,"range":{"start_line":1942,"start_character":35,"end_line":1942,"end_character":59},"in_reply_to":"11c8384c_ef5a931c","updated":"2024-01-29 12:46:40.000000000","message":"No, the sentence doesn\u0027t make sense. I think you meant `is not a valid store`","commit_id":"8f2c93e8b9a4c5bc9b9fc0f18e656cfef270c3bc"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"a235265d35a29b5c0a14bd71a8ef7c9225e5c699","unresolved":false,"context_lines":[{"line_number":1939,"context_line":"                    break"},{"line_number":1940,"context_line":"            if not valid:"},{"line_number":1941,"context_line":"                msg \u003d _("},{"line_number":1942,"context_line":"                    \"Store \u0027%s\u0027 is not valid a valid store.\""},{"line_number":1943,"context_line":"                    % parsed_args.stores"},{"line_number":1944,"context_line":"                )"},{"line_number":1945,"context_line":"                raise exceptions.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"784c367b_8338830b","line":1942,"range":{"start_line":1942,"start_character":35,"end_line":1942,"end_character":59},"in_reply_to":"1ab6b8d0_e7b713b7","updated":"2024-02-20 17:30:12.000000000","message":"Acknowledged","commit_id":"8f2c93e8b9a4c5bc9b9fc0f18e656cfef270c3bc"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"9abf31b008a45a599d62151d7fbecaac509fe929","unresolved":true,"context_lines":[{"line_number":1939,"context_line":"                    break"},{"line_number":1940,"context_line":"            if not valid:"},{"line_number":1941,"context_line":"                msg \u003d _("},{"line_number":1942,"context_line":"                    \"Store \u0027%s\u0027 is not valid a valid store.\""},{"line_number":1943,"context_line":"                    % parsed_args.stores"},{"line_number":1944,"context_line":"                )"},{"line_number":1945,"context_line":"                raise exceptions.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"11c8384c_ef5a931c","line":1942,"range":{"start_line":1942,"start_character":35,"end_line":1942,"end_character":59},"in_reply_to":"c694e653_3c4580b3","updated":"2023-10-09 07:19:25.000000000","message":"this is to specify the passed store is not valid.","commit_id":"8f2c93e8b9a4c5bc9b9fc0f18e656cfef270c3bc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59a3d221257e5ea2a1b30f47d4e0ce1f675a0c3c","unresolved":true,"context_lines":[{"line_number":1945,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":1946,"context_line":""},{"line_number":1947,"context_line":"            else:"},{"line_number":1948,"context_line":"                kwargs[\u0027store\u0027] \u003d parsed_args.stores"},{"line_number":1949,"context_line":""},{"line_number":1950,"context_line":"        if parsed_args.filename:"},{"line_number":1951,"context_line":"            kwargs[\u0027filename\u0027] \u003d parsed_args.filename"}],"source_content_type":"text/x-python","patch_set":3,"id":"f75e8ff6_ae6a93c7","line":1948,"updated":"2023-10-06 11:22:26.000000000","message":"nit: don\u0027t need the `else` since we\u0027ll exit in the `if`.\n\n```\nif not valid:\n    ...\n    raise ...\n    \nkwargs[\u0027store\u0027] \u003d ...\n```","commit_id":"8f2c93e8b9a4c5bc9b9fc0f18e656cfef270c3bc"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"9abf31b008a45a599d62151d7fbecaac509fe929","unresolved":false,"context_lines":[{"line_number":1945,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":1946,"context_line":""},{"line_number":1947,"context_line":"            else:"},{"line_number":1948,"context_line":"                kwargs[\u0027store\u0027] \u003d parsed_args.stores"},{"line_number":1949,"context_line":""},{"line_number":1950,"context_line":"        if parsed_args.filename:"},{"line_number":1951,"context_line":"            kwargs[\u0027filename\u0027] \u003d parsed_args.filename"}],"source_content_type":"text/x-python","patch_set":3,"id":"f018dc9f_db1f92fb","line":1948,"in_reply_to":"f75e8ff6_ae6a93c7","updated":"2023-10-09 07:19:25.000000000","message":"Ack","commit_id":"8f2c93e8b9a4c5bc9b9fc0f18e656cfef270c3bc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a6ec87a65594685734f13e7ad485e476eb4e6e3","unresolved":true,"context_lines":[{"line_number":1891,"context_line":"        parser.add_argument("},{"line_number":1892,"context_line":"            \"image\","},{"line_number":1893,"context_line":"            metavar\u003d\"\u003cimage\u003e\","},{"line_number":1894,"context_line":"            help\u003d_(\"Image ID to reserve\"),"},{"line_number":1895,"context_line":"        )"},{"line_number":1896,"context_line":"        parser.add_argument("},{"line_number":1897,"context_line":"            \"--file\","}],"source_content_type":"text/x-python","patch_set":4,"id":"db3626e0_a736835a","line":1894,"updated":"2024-01-29 12:46:40.000000000","message":"We\u0027re not reserving an image. We\u0027re uploading data to an existing image. This help text needs updating. Also, it can be a name or ID (since you\u0027re using `find_image` below)","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"a235265d35a29b5c0a14bd71a8ef7c9225e5c699","unresolved":false,"context_lines":[{"line_number":1891,"context_line":"        parser.add_argument("},{"line_number":1892,"context_line":"            \"image\","},{"line_number":1893,"context_line":"            metavar\u003d\"\u003cimage\u003e\","},{"line_number":1894,"context_line":"            help\u003d_(\"Image ID to reserve\"),"},{"line_number":1895,"context_line":"        )"},{"line_number":1896,"context_line":"        parser.add_argument("},{"line_number":1897,"context_line":"            \"--file\","}],"source_content_type":"text/x-python","patch_set":4,"id":"cee59eca_c3ff5dae","line":1894,"in_reply_to":"db3626e0_a736835a","updated":"2024-02-20 17:30:12.000000000","message":"Acknowledged","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a6ec87a65594685734f13e7ad485e476eb4e6e3","unresolved":true,"context_lines":[{"line_number":1897,"context_line":"            \"--file\","},{"line_number":1898,"context_line":"            dest\u003d\"filename\","},{"line_number":1899,"context_line":"            metavar\u003d\"\u003cfile\u003e\","},{"line_number":1900,"context_line":"            help\u003d_(\"Upload image from local file\"),"},{"line_number":1901,"context_line":"        )"},{"line_number":1902,"context_line":"        parser.add_argument("},{"line_number":1903,"context_line":"            \u0027--store\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3cbc0385_a83cc585","line":1900,"updated":"2024-01-29 12:46:40.000000000","message":"Should you say this defaults to `stdin`?","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"d3d370466edf97368b307955919df1e5910030c2","unresolved":true,"context_lines":[{"line_number":1897,"context_line":"            \"--file\","},{"line_number":1898,"context_line":"            dest\u003d\"filename\","},{"line_number":1899,"context_line":"            metavar\u003d\"\u003cfile\u003e\","},{"line_number":1900,"context_line":"            help\u003d_(\"Upload image from local file\"),"},{"line_number":1901,"context_line":"        )"},{"line_number":1902,"context_line":"        parser.add_argument("},{"line_number":1903,"context_line":"            \u0027--store\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"e974e240_0df9f020","line":1900,"in_reply_to":"3cbc0385_a83cc585","updated":"2024-02-21 16:10:25.000000000","message":"I think this still holds in patchset 5. Adding \"If omitted, uses stdin\" would be a good indication for our users.","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"88589379ddbcfa92b04f3a8e721bf77073fd953e","unresolved":false,"context_lines":[{"line_number":1897,"context_line":"            \"--file\","},{"line_number":1898,"context_line":"            dest\u003d\"filename\","},{"line_number":1899,"context_line":"            metavar\u003d\"\u003cfile\u003e\","},{"line_number":1900,"context_line":"            help\u003d_(\"Upload image from local file\"),"},{"line_number":1901,"context_line":"        )"},{"line_number":1902,"context_line":"        parser.add_argument("},{"line_number":1903,"context_line":"            \u0027--store\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"a16c9549_22fab21c","line":1900,"in_reply_to":"e974e240_0df9f020","updated":"2024-02-27 17:46:44.000000000","message":"Acknowledged","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a6ec87a65594685734f13e7ad485e476eb4e6e3","unresolved":true,"context_lines":[{"line_number":1901,"context_line":"        )"},{"line_number":1902,"context_line":"        parser.add_argument("},{"line_number":1903,"context_line":"            \u0027--store\u0027,"},{"line_number":1904,"context_line":"            metavar\u003d\u0027\u003cstore\u003e\u0027,"},{"line_number":1905,"context_line":"            dest\u003d\u0027stores\u0027,"},{"line_number":1906,"context_line":"            help\u003d_(\"Backend store to upload image to \"),"},{"line_number":1907,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"4ac78fa1_29a17e5b","line":1904,"updated":"2024-01-29 12:46:40.000000000","message":"This is called `stores` (plural) but you\u0027re not using the `append` action, nor are you handling the attribute like a list below. Do you intended to allow uploading to multiple stores? If so, this needs to be fixed. If not, this needs to be called `store` (singular)","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"a235265d35a29b5c0a14bd71a8ef7c9225e5c699","unresolved":false,"context_lines":[{"line_number":1901,"context_line":"        )"},{"line_number":1902,"context_line":"        parser.add_argument("},{"line_number":1903,"context_line":"            \u0027--store\u0027,"},{"line_number":1904,"context_line":"            metavar\u003d\u0027\u003cstore\u003e\u0027,"},{"line_number":1905,"context_line":"            dest\u003d\u0027stores\u0027,"},{"line_number":1906,"context_line":"            help\u003d_(\"Backend store to upload image to \"),"},{"line_number":1907,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"db3d70ef_249af539","line":1904,"in_reply_to":"4ac78fa1_29a17e5b","updated":"2024-02-20 17:30:12.000000000","message":"Acknowledged","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a6ec87a65594685734f13e7ad485e476eb4e6e3","unresolved":true,"context_lines":[{"line_number":1903,"context_line":"            \u0027--store\u0027,"},{"line_number":1904,"context_line":"            metavar\u003d\u0027\u003cstore\u003e\u0027,"},{"line_number":1905,"context_line":"            dest\u003d\u0027stores\u0027,"},{"line_number":1906,"context_line":"            help\u003d_(\"Backend store to upload image to \"),"},{"line_number":1907,"context_line":"        )"},{"line_number":1908,"context_line":"        return parser"},{"line_number":1909,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"faf4ab78_49d07440","line":1906,"range":{"start_line":1906,"start_character":52,"end_line":1906,"end_character":53},"updated":"2024-01-29 12:46:40.000000000","message":"nit: extra space","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"a235265d35a29b5c0a14bd71a8ef7c9225e5c699","unresolved":false,"context_lines":[{"line_number":1903,"context_line":"            \u0027--store\u0027,"},{"line_number":1904,"context_line":"            metavar\u003d\u0027\u003cstore\u003e\u0027,"},{"line_number":1905,"context_line":"            dest\u003d\u0027stores\u0027,"},{"line_number":1906,"context_line":"            help\u003d_(\"Backend store to upload image to \"),"},{"line_number":1907,"context_line":"        )"},{"line_number":1908,"context_line":"        return parser"},{"line_number":1909,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"22cb1074_19f93c9a","line":1906,"range":{"start_line":1906,"start_character":52,"end_line":1906,"end_character":53},"in_reply_to":"faf4ab78_49d07440","updated":"2024-02-20 17:30:12.000000000","message":"Done","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a6ec87a65594685734f13e7ad485e476eb4e6e3","unresolved":true,"context_lines":[{"line_number":1919,"context_line":""},{"line_number":1920,"context_line":"        if parsed_args.filename:"},{"line_number":1921,"context_line":"            try:"},{"line_number":1922,"context_line":"                fp \u003d open(parsed_args.filename, \u0027rb\u0027)"},{"line_number":1923,"context_line":"            except FileNotFoundError:"},{"line_number":1924,"context_line":"                raise exceptions.CommandError("},{"line_number":1925,"context_line":"                    \u0027%r is not a valid file\u0027 % parsed_args.filename,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9776bff6_a6db6346","line":1922,"updated":"2024-01-29 12:46:40.000000000","message":"You don\u0027t do anything with this file handle once opened. Are you sure you want to open it? Perhaps you just want to check that it exists?","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"a235265d35a29b5c0a14bd71a8ef7c9225e5c699","unresolved":false,"context_lines":[{"line_number":1919,"context_line":""},{"line_number":1920,"context_line":"        if parsed_args.filename:"},{"line_number":1921,"context_line":"            try:"},{"line_number":1922,"context_line":"                fp \u003d open(parsed_args.filename, \u0027rb\u0027)"},{"line_number":1923,"context_line":"            except FileNotFoundError:"},{"line_number":1924,"context_line":"                raise exceptions.CommandError("},{"line_number":1925,"context_line":"                    \u0027%r is not a valid file\u0027 % parsed_args.filename,"}],"source_content_type":"text/x-python","patch_set":4,"id":"cffe31ad_6bafbe1f","line":1922,"in_reply_to":"9776bff6_a6db6346","updated":"2024-02-20 17:30:12.000000000","message":"yes, done","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a6ec87a65594685734f13e7ad485e476eb4e6e3","unresolved":true,"context_lines":[{"line_number":1925,"context_line":"                    \u0027%r is not a valid file\u0027 % parsed_args.filename,"},{"line_number":1926,"context_line":"                )"},{"line_number":1927,"context_line":"        else:"},{"line_number":1928,"context_line":"            fp \u003d get_data_from_stdin()"},{"line_number":1929,"context_line":""},{"line_number":1930,"context_line":"        kwargs \u003d {}"},{"line_number":1931,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"0d894319_6fe4eec3","line":1928,"updated":"2024-01-29 12:46:40.000000000","message":"What happens if there\u0027s no data on stdin (i.e. `fp` is `None`)?","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"a235265d35a29b5c0a14bd71a8ef7c9225e5c699","unresolved":true,"context_lines":[{"line_number":1925,"context_line":"                    \u0027%r is not a valid file\u0027 % parsed_args.filename,"},{"line_number":1926,"context_line":"                )"},{"line_number":1927,"context_line":"        else:"},{"line_number":1928,"context_line":"            fp \u003d get_data_from_stdin()"},{"line_number":1929,"context_line":""},{"line_number":1930,"context_line":"        kwargs \u003d {}"},{"line_number":1931,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bf1b5921_e4a1871b","line":1928,"in_reply_to":"0d894319_6fe4eec3","updated":"2024-02-20 17:30:12.000000000","message":"This is under discussion from glance-end,\nas we have raised a bug for the same https://bugs.launchpad.net/python-glanceclient/+bug/2053150 \n\nAs in glanceclient users were able to create zerosized images as they were required some users","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a6ec87a65594685734f13e7ad485e476eb4e6e3","unresolved":true,"context_lines":[{"line_number":1931,"context_line":""},{"line_number":1932,"context_line":"        # to validate backend"},{"line_number":1933,"context_line":"        if parsed_args.stores:"},{"line_number":1934,"context_line":"            enabled_backends \u003d list(image_client.stores())"},{"line_number":1935,"context_line":"            valid \u003d False"},{"line_number":1936,"context_line":"            for available_backend in enabled_backends:"},{"line_number":1937,"context_line":"                if available_backend[\u0027id\u0027] \u003d\u003d parsed_args.stores:"}],"source_content_type":"text/x-python","patch_set":4,"id":"e5fa463a_19d794a8","line":1934,"updated":"2024-01-29 12:46:40.000000000","message":"Do you need to convert this to a list? Couldn\u0027t you just iterate on it below instead of storing to a variable first?\n\n(note: this is less relevant if you end up supporting multiple stores)","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"a235265d35a29b5c0a14bd71a8ef7c9225e5c699","unresolved":false,"context_lines":[{"line_number":1931,"context_line":""},{"line_number":1932,"context_line":"        # to validate backend"},{"line_number":1933,"context_line":"        if parsed_args.stores:"},{"line_number":1934,"context_line":"            enabled_backends \u003d list(image_client.stores())"},{"line_number":1935,"context_line":"            valid \u003d False"},{"line_number":1936,"context_line":"            for available_backend in enabled_backends:"},{"line_number":1937,"context_line":"                if available_backend[\u0027id\u0027] \u003d\u003d parsed_args.stores:"}],"source_content_type":"text/x-python","patch_set":4,"id":"901b55f4_82f0ef22","line":1934,"in_reply_to":"e5fa463a_19d794a8","updated":"2024-02-20 17:30:12.000000000","message":"Done","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a6ec87a65594685734f13e7ad485e476eb4e6e3","unresolved":true,"context_lines":[{"line_number":1951,"context_line":"        elif fp:"},{"line_number":1952,"context_line":"            kwargs[\u0027data\u0027] \u003d fp"},{"line_number":1953,"context_line":""},{"line_number":1954,"context_line":"        image_client.upload_image(image, **kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"8192777d_3600f7dd","line":1954,"updated":"2024-01-29 12:46:40.000000000","message":"You need to address this in the SDK change, but we probably want to return something here, no?","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"a235265d35a29b5c0a14bd71a8ef7c9225e5c699","unresolved":true,"context_lines":[{"line_number":1951,"context_line":"        elif fp:"},{"line_number":1952,"context_line":"            kwargs[\u0027data\u0027] \u003d fp"},{"line_number":1953,"context_line":""},{"line_number":1954,"context_line":"        image_client.upload_image(image, **kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"20f32eee_5e1d96f2","line":1954,"in_reply_to":"8192777d_3600f7dd","updated":"2024-02-20 17:30:12.000000000","message":"No, we don\u0027t want to return anything , it just uploads the data","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"d3d370466edf97368b307955919df1e5910030c2","unresolved":true,"context_lines":[{"line_number":1932,"context_line":"        # to validate backend"},{"line_number":1933,"context_line":"        if parsed_args.store:"},{"line_number":1934,"context_line":"            valid \u003d False"},{"line_number":1935,"context_line":"            for available_backend in list(image_client.stores()):"},{"line_number":1936,"context_line":"                if available_backend[\u0027id\u0027] \u003d\u003d parsed_args.store:"},{"line_number":1937,"context_line":"                    valid \u003d True"},{"line_number":1938,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":5,"id":"2b13c388_60eaf042","line":1935,"range":{"start_line":1935,"start_character":0,"end_line":1935,"end_character":12},"updated":"2024-02-21 16:10:25.000000000","message":"Do we really need to use list() here? I think image_client.stores() returns a generator.","commit_id":"3b979543d9fee186e8a7cb9b4a6402a79f393332"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"88589379ddbcfa92b04f3a8e721bf77073fd953e","unresolved":false,"context_lines":[{"line_number":1932,"context_line":"        # to validate backend"},{"line_number":1933,"context_line":"        if parsed_args.store:"},{"line_number":1934,"context_line":"            valid \u003d False"},{"line_number":1935,"context_line":"            for available_backend in list(image_client.stores()):"},{"line_number":1936,"context_line":"                if available_backend[\u0027id\u0027] \u003d\u003d parsed_args.store:"},{"line_number":1937,"context_line":"                    valid \u003d True"},{"line_number":1938,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f121f92_01f7ae01","line":1935,"range":{"start_line":1935,"start_character":0,"end_line":1935,"end_character":12},"in_reply_to":"2b13c388_60eaf042","updated":"2024-02-27 17:46:44.000000000","message":"Acknowledged","commit_id":"3b979543d9fee186e8a7cb9b4a6402a79f393332"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"d3d370466edf97368b307955919df1e5910030c2","unresolved":true,"context_lines":[{"line_number":1938,"context_line":"                    break"},{"line_number":1939,"context_line":"            if not valid:"},{"line_number":1940,"context_line":"                msg \u003d _(\"Store \u0027%s\u0027 is not a valid store.\" % parsed_args.store)"},{"line_number":1941,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":1942,"context_line":""},{"line_number":1943,"context_line":"            kwargs[\u0027store\u0027] \u003d parsed_args.store"},{"line_number":1944,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"218f4ffa_2c0d003e","line":1941,"range":{"start_line":1941,"start_character":0,"end_line":1941,"end_character":16},"updated":"2024-02-21 16:10:25.000000000","message":"You could remove the \"valid\" variable and use a for-else which is meant exactly for this kind of code (https://docs.python.org/3/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops).","commit_id":"3b979543d9fee186e8a7cb9b4a6402a79f393332"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"88589379ddbcfa92b04f3a8e721bf77073fd953e","unresolved":false,"context_lines":[{"line_number":1938,"context_line":"                    break"},{"line_number":1939,"context_line":"            if not valid:"},{"line_number":1940,"context_line":"                msg \u003d _(\"Store \u0027%s\u0027 is not a valid store.\" % parsed_args.store)"},{"line_number":1941,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":1942,"context_line":""},{"line_number":1943,"context_line":"            kwargs[\u0027store\u0027] \u003d parsed_args.store"},{"line_number":1944,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7e4d0821_f8b4a54f","line":1941,"range":{"start_line":1941,"start_character":0,"end_line":1941,"end_character":16},"in_reply_to":"218f4ffa_2c0d003e","updated":"2024-02-27 17:46:44.000000000","message":"Acknowledged","commit_id":"3b979543d9fee186e8a7cb9b4a6402a79f393332"}],"openstackclient/tests/unit/image/v2/fakes.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"60d02867cde794448921daf30970a50355e18bfd","unresolved":true,"context_lines":[{"line_number":151,"context_line":"    attrs \u003d attrs or {}"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    stores_info \u003d {"},{"line_number":154,"context_line":"        \"id\": \"fast\","},{"line_number":155,"context_line":"        \"description\": \"Provides quick access to your image data\","},{"line_number":156,"context_line":"        \"default\": True,"},{"line_number":157,"context_line":"    }"},{"line_number":158,"context_line":"    stores_info.update(attrs)"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"dabee5cd_9702628f","line":156,"range":{"start_line":154,"start_character":8,"end_line":156,"end_character":24},"updated":"2024-03-04 06:51:26.000000000","message":"why this change?","commit_id":"fbd175d98ba0ef49b0204c2c5f1f53b264c30916"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"f0787eccd42f1519b7ef9fde9f0434f317f39124","unresolved":true,"context_lines":[{"line_number":151,"context_line":"    attrs \u003d attrs or {}"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    stores_info \u003d {"},{"line_number":154,"context_line":"        \"id\": \"fast\","},{"line_number":155,"context_line":"        \"description\": \"Provides quick access to your image data\","},{"line_number":156,"context_line":"        \"default\": True,"},{"line_number":157,"context_line":"    }"},{"line_number":158,"context_line":"    stores_info.update(attrs)"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5cd01314_e3d4e4be","line":156,"range":{"start_line":154,"start_character":8,"end_line":156,"end_character":24},"in_reply_to":"dabee5cd_9702628f","updated":"2024-03-07 06:58:46.000000000","message":"Earlier it was creating a store without any definition, For other test-cases also we require store definition(id,default,decsription) \nHence this change","commit_id":"fbd175d98ba0ef49b0204c2c5f1f53b264c30916"}],"releasenotes/notes/add-image-upload-7e482cd4c843f5b3.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a6ec87a65594685734f13e7ad485e476eb4e6e3","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``image upload`` command, allowing users to upload data to image."},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"0bf3bd66_44e320e6","line":5,"updated":"2024-01-29 12:46:40.000000000","message":"nit: extra newline","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"a235265d35a29b5c0a14bd71a8ef7c9225e5c699","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add ``image upload`` command, allowing users to upload data to image."},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1257f616_e1ae3c98","line":5,"in_reply_to":"0bf3bd66_44e320e6","updated":"2024-02-20 17:30:12.000000000","message":"Done","commit_id":"372e247724a31dcf513b40ddc605e2642a930186"}]}
