diff options
Diffstat (limited to 'swiftclient/shell.py')
-rwxr-xr-x | swiftclient/shell.py | 56 |
1 files changed, 50 insertions, 6 deletions
diff --git a/swiftclient/shell.py b/swiftclient/shell.py index 68b9344..4ba71b4 100755 --- a/swiftclient/shell.py +++ b/swiftclient/shell.py @@ -94,11 +94,11 @@ def st_delete(parser, args, output_manager): parser.add_option( '', '--object-threads', type=int, default=10, help='Number of threads to use for deleting objects. ' - 'Default is 10.') + 'Its value must be a positive integer. Default is 10.') parser.add_option( '', '--container-threads', type=int, default=10, help='Number of threads to use for deleting containers. ' - 'Default is 10.') + 'Its value must be a positive integer. Default is 10.') (options, args) = parse_args(parser, args) args = args[1:] if (not args and not options.yes_all) or (args and options.yes_all): @@ -107,6 +107,22 @@ def st_delete(parser, args, output_manager): st_delete_help) return + if options.object_threads <= 0: + output_manager.error( + 'ERROR: option --object-threads should be a positive integer.' + '\n\nUsage: %s delete %s\n%s', + BASENAME, st_delete_options, + st_delete_help) + return + + if options.container_threads <= 0: + output_manager.error( + 'ERROR: option --container-threads should be a positive integer.' + '\n\nUsage: %s delete %s\n%s', + BASENAME, st_delete_options, + st_delete_help) + return + _opts = vars(options) _opts['object_dd_threads'] = options.object_threads with SwiftService(options=_opts) as swift: @@ -274,11 +290,11 @@ def st_download(parser, args, output_manager): parser.add_option( '', '--object-threads', type=int, default=10, help='Number of threads to use for downloading objects. ' - 'Default is 10.') + 'Its value must be a positive integer. Default is 10.') parser.add_option( '', '--container-threads', type=int, default=10, help='Number of threads to use for downloading containers. ' - 'Default is 10.') + 'Its value must be a positive integer. Default is 10.') parser.add_option( '', '--no-download', action='store_true', default=False, @@ -320,6 +336,20 @@ def st_download(parser, args, output_manager): st_download_options, st_download_help) return + if options.object_threads <= 0: + output_manager.error( + 'ERROR: option --object-threads should be a positive integer.\n\n' + 'Usage: %s download %s\n%s', BASENAME, + st_download_options, st_download_help) + return + + if options.container_threads <= 0: + output_manager.error( + 'ERROR: option --container-threads should be a positive integer.' + '\n\nUsage: %s download %s\n%s', BASENAME, + st_download_options, st_download_help) + return + _opts = vars(options) _opts['object_dd_threads'] = options.object_threads with SwiftService(options=_opts) as swift: @@ -805,11 +835,11 @@ def st_upload(parser, args, output_manager): parser.add_option( '', '--object-threads', type=int, default=10, help='Number of threads to use for uploading full objects. ' - 'Default is 10.') + 'Its value must be a positive integer. Default is 10.') parser.add_option( '', '--segment-threads', type=int, default=10, help='Number of threads to use for uploading object segments. ' - 'Default is 10.') + 'Its value must be a positive integer. Default is 10.') parser.add_option( '-H', '--header', action='append', dest='header', default=[], help='Set request headers with the syntax header:value. ' @@ -862,6 +892,20 @@ def st_upload(parser, args, output_manager): output_manager.error("segment-size should be positive") return + if options.object_threads <= 0: + output_manager.error( + 'ERROR: option --object-threads should be a positive integer.' + '\n\nUsage: %s upload %s\n%s', BASENAME, st_upload_options, + st_upload_help) + return + + if options.segment_threads <= 0: + output_manager.error( + 'ERROR: option --segment-threads should be a positive integer.' + '\n\nUsage: %s upload %s\n%s', BASENAME, st_upload_options, + st_upload_help) + return + _opts = vars(options) _opts['object_uu_threads'] = options.object_threads with SwiftService(options=_opts) as swift: |