[options] Refactor autonumber options and add validation (closes #727, closes #2702...
authorSergey M․ <dstftw@gmail.com>
Sat, 28 Jan 2017 16:57:56 +0000 (23:57 +0700)
committerSergey M․ <dstftw@gmail.com>
Sat, 28 Jan 2017 17:00:45 +0000 (00:00 +0700)
youtube_dl/__init__.py
youtube_dl/options.py

index 577bc880fca4b0548cde69697c65064fe11326b7..2b156342ad3e9b81ed43618dd65b30216ed16b35 100644 (file)
@@ -133,6 +133,12 @@ def _real_main(argv=None):
         parser.error('TV Provider account username missing\n')
     if opts.outtmpl is not None and (opts.usetitle or opts.autonumber or opts.useid):
         parser.error('using output template conflicts with using title, video ID or auto number')
+    if opts.autonumber_size is not None:
+        if opts.autonumber_size <= 0:
+            parser.error('auto number size must be positive')
+    if opts.autonumber_start is not None:
+        if opts.autonumber_start < 0:
+            parser.error('auto number start must be positive or 0')
     if opts.usetitle and opts.useid:
         parser.error('using title conflicts with using video ID')
     if opts.username is not None and opts.password is None:
index 571525434e7e1f27a4a6b64318129940b2f51ba1..3abf621c090484139d393516bd2554b6651989fe 100644 (file)
@@ -661,12 +661,12 @@ def parseOpts(overrideArguments=None):
         help=('Output filename template, see the "OUTPUT TEMPLATE" for all the info'))
     filesystem.add_option(
         '--autonumber-size',
-        dest='autonumber_size', metavar='NUMBER',
-        help='Specify the number of digits in %(autonumber)s when it is present in output filename template or --auto-number option is given')
+        dest='autonumber_size', metavar='NUMBER', default=5, type=int,
+        help='Specify the number of digits in %(autonumber)s when it is present in output filename template or --auto-number option is given (default is %default)')
     filesystem.add_option(
         '--autonumber-start',
-        dest='autonumber_start', metavar='NUMBER', type="int", default=1,
-        help='Specify the start value for the %(autonumber)s counter. Defaults to 1.')
+        dest='autonumber_start', metavar='NUMBER', default=1, type=int,
+        help='Specify the start value for %(autonumber)s (default is %default)')
     filesystem.add_option(
         '--restrict-filenames',
         action='store_true', dest='restrictfilenames', default=False,