summaryrefslogtreecommitdiff
path: root/swiftclient/shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'swiftclient/shell.py')
-rwxr-xr-xswiftclient/shell.py56
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: