)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"60f3bfd1ae70025ffa4d6e541e3efd597b596d0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"58baca02_18415131","updated":"2024-06-21 14:24:53.000000000","message":"Thanks for fixing this.  Suggested improvement noted inline.","commit_id":"da68863c83a1967ea575dc2e4674b7ae3e629215"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"de193c89a7d7f8cd1a1ac7bd5ee07ef71824e4cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4ccca7e1_2bae87b9","updated":"2024-06-25 14:02:58.000000000","message":"LGTM!","commit_id":"8e5fae8102e1cd3e10cb42d4e9973f09b006409f"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d0dd5dfc587f79f24a4d9fbf38881ebe7565a5bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d6c46c69_a15698bb","updated":"2024-08-28 14:22:57.000000000","message":"Minor change and it looks good to me.","commit_id":"8e5fae8102e1cd3e10cb42d4e9973f09b006409f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6294242a500200b3f0a687f2ea63c9efa48e4a9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4af65ae1_5a1b7a4a","updated":"2024-06-23 16:56:11.000000000","message":"Thanks Brian for the review","commit_id":"8e5fae8102e1cd3e10cb42d4e9973f09b006409f"}],"cinderclient/tests/unit/v3/test_shell.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"60f3bfd1ae70025ffa4d6e541e3efd597b596d0a","unresolved":true,"context_lines":[{"line_number":1659,"context_line":""},{"line_number":1660,"context_line":"    def test_delete_transfers(self):"},{"line_number":1661,"context_line":"        self.run_command(\u0027transfer-delete 1234 5678\u0027)"},{"line_number":1662,"context_line":"        self.assert_called(\u0027DELETE\u0027, \u0027/os-volume-transfer/5678\u0027)"},{"line_number":1663,"context_line":""},{"line_number":1664,"context_line":"    def test_subcommand_parser(self):"},{"line_number":1665,"context_line":"        \"\"\"Ensure that all the expected commands show up."}],"source_content_type":"text/x-python","patch_set":1,"id":"6c92f4b4_79276957","line":1662,"updated":"2024-06-21 14:24:53.000000000","message":"It\u0027s probably worth also making sure delete 1234 was called, in case the code is just always grabbing the last argument or something.","commit_id":"da68863c83a1967ea575dc2e4674b7ae3e629215"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6294242a500200b3f0a687f2ea63c9efa48e4a9e","unresolved":false,"context_lines":[{"line_number":1659,"context_line":""},{"line_number":1660,"context_line":"    def test_delete_transfers(self):"},{"line_number":1661,"context_line":"        self.run_command(\u0027transfer-delete 1234 5678\u0027)"},{"line_number":1662,"context_line":"        self.assert_called(\u0027DELETE\u0027, \u0027/os-volume-transfer/5678\u0027)"},{"line_number":1663,"context_line":""},{"line_number":1664,"context_line":"    def test_subcommand_parser(self):"},{"line_number":1665,"context_line":"        \"\"\"Ensure that all the expected commands show up."}],"source_content_type":"text/x-python","patch_set":1,"id":"350f4f69_fd5d57fd","line":1662,"in_reply_to":"6c92f4b4_79276957","updated":"2024-06-23 16:56:11.000000000","message":"Done","commit_id":"da68863c83a1967ea575dc2e4674b7ae3e629215"}],"cinderclient/v3/shell_base.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"60f3bfd1ae70025ffa4d6e541e3efd597b596d0a","unresolved":true,"context_lines":[{"line_number":1223,"context_line":"           help\u003d\u0027Name or ID of backup(s) to delete.\u0027)"},{"line_number":1224,"context_line":"def do_backup_delete(cs, args):"},{"line_number":1225,"context_line":"    \"\"\"Removes one or more backups.\"\"\""},{"line_number":1226,"context_line":"    failure_count \u003d 0"},{"line_number":1227,"context_line":"    for backup in args.backup:"},{"line_number":1228,"context_line":"        try:"},{"line_number":1229,"context_line":"            shell_utils.find_backup(cs, backup).delete(args.force)"},{"line_number":1230,"context_line":"            print(\"Request to delete backup %s has been accepted.\" % (backup))"},{"line_number":1231,"context_line":"        except Exception as e:"},{"line_number":1232,"context_line":"            failure_count +\u003d 1"},{"line_number":1233,"context_line":"            print(\"Delete for backup %s failed: %s\" % (backup, e))"},{"line_number":1234,"context_line":"    if failure_count \u003d\u003d len(args.backup):"},{"line_number":1235,"context_line":"        raise exceptions.CommandError(\"Unable to delete any of the specified \""},{"line_number":1236,"context_line":"                                      \"backups.\")"},{"line_number":1237,"context_line":""},{"line_number":1238,"context_line":""},{"line_number":1239,"context_line":"@utils.arg(\u0027backup\u0027, metavar\u003d\u0027\u003cbackup\u003e\u0027,"},{"line_number":1240,"context_line":"           help\u003d\u0027Name or ID of backup to restore.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"16b71498_d1e08ac3","line":1237,"range":{"start_line":1226,"start_character":0,"end_line":1237,"end_character":1},"updated":"2024-06-21 14:24:53.000000000","message":"I think it would be helpful to use this pattern so that if there\u0027s a problem (most likely a typo in the transfer name or ID), the user knows which transfers weren\u0027t processed.  With the code you have now, the shell stops processing with the first bad argument and returns an error, even though it may have already successfully deleted some transfers.","commit_id":"da68863c83a1967ea575dc2e4674b7ae3e629215"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6294242a500200b3f0a687f2ea63c9efa48e4a9e","unresolved":false,"context_lines":[{"line_number":1223,"context_line":"           help\u003d\u0027Name or ID of backup(s) to delete.\u0027)"},{"line_number":1224,"context_line":"def do_backup_delete(cs, args):"},{"line_number":1225,"context_line":"    \"\"\"Removes one or more backups.\"\"\""},{"line_number":1226,"context_line":"    failure_count \u003d 0"},{"line_number":1227,"context_line":"    for backup in args.backup:"},{"line_number":1228,"context_line":"        try:"},{"line_number":1229,"context_line":"            shell_utils.find_backup(cs, backup).delete(args.force)"},{"line_number":1230,"context_line":"            print(\"Request to delete backup %s has been accepted.\" % (backup))"},{"line_number":1231,"context_line":"        except Exception as e:"},{"line_number":1232,"context_line":"            failure_count +\u003d 1"},{"line_number":1233,"context_line":"            print(\"Delete for backup %s failed: %s\" % (backup, e))"},{"line_number":1234,"context_line":"    if failure_count \u003d\u003d len(args.backup):"},{"line_number":1235,"context_line":"        raise exceptions.CommandError(\"Unable to delete any of the specified \""},{"line_number":1236,"context_line":"                                      \"backups.\")"},{"line_number":1237,"context_line":""},{"line_number":1238,"context_line":""},{"line_number":1239,"context_line":"@utils.arg(\u0027backup\u0027, metavar\u003d\u0027\u003cbackup\u003e\u0027,"},{"line_number":1240,"context_line":"           help\u003d\u0027Name or ID of backup to restore.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"833b8d9b_c8eb62fc","line":1237,"range":{"start_line":1226,"start_character":0,"end_line":1237,"end_character":1},"in_reply_to":"16b71498_d1e08ac3","updated":"2024-06-23 16:56:11.000000000","message":"Done","commit_id":"da68863c83a1967ea575dc2e4674b7ae3e629215"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"60f3bfd1ae70025ffa4d6e541e3efd597b596d0a","unresolved":true,"context_lines":[{"line_number":1352,"context_line":"           help\u003d\u0027Name or ID of transfer to delete.\u0027)"},{"line_number":1353,"context_line":"def do_transfer_delete(cs, args):"},{"line_number":1354,"context_line":"    \"\"\"Undoes a transfer.\"\"\""},{"line_number":1355,"context_line":"    for t in args.transfer:"},{"line_number":1356,"context_line":"        transfer \u003d shell_utils.find_transfer(cs, t)"},{"line_number":1357,"context_line":"        transfer.delete()"},{"line_number":1358,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"c53c3707_49c732f3","line":1355,"updated":"2024-06-21 14:24:53.000000000","message":"See my comment at line 1226, above.","commit_id":"da68863c83a1967ea575dc2e4674b7ae3e629215"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6294242a500200b3f0a687f2ea63c9efa48e4a9e","unresolved":false,"context_lines":[{"line_number":1352,"context_line":"           help\u003d\u0027Name or ID of transfer to delete.\u0027)"},{"line_number":1353,"context_line":"def do_transfer_delete(cs, args):"},{"line_number":1354,"context_line":"    \"\"\"Undoes a transfer.\"\"\""},{"line_number":1355,"context_line":"    for t in args.transfer:"},{"line_number":1356,"context_line":"        transfer \u003d shell_utils.find_transfer(cs, t)"},{"line_number":1357,"context_line":"        transfer.delete()"},{"line_number":1358,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3dc4c49a_9c98aef1","line":1355,"in_reply_to":"c53c3707_49c732f3","updated":"2024-06-23 16:56:11.000000000","message":"Done","commit_id":"da68863c83a1967ea575dc2e4674b7ae3e629215"}]}
