Added option --autonumber-size:
authorStanislav Kupryakhin <st.kupr@gmail.com>
Tue, 2 Apr 2013 04:40:07 +0000 (11:40 +0700)
committerPhilipp Hagemeister <phihag@phihag.de>
Thu, 11 Apr 2013 08:53:57 +0000 (10:53 +0200)
  Specifies the number of digits in %(autonumber)s when it is present in output filename template or --autonumber option is given

youtube_dl/FileDownloader.py
youtube_dl/__init__.py

index e801db00a2d1a0de4460ef59696d4769cc2d0779..7731db17f4daf65d16f60effb88f633014ecbe2a 100644 (file)
@@ -388,7 +388,9 @@ class FileDownloader(object):
             template_dict = dict(info_dict)
 
             template_dict['epoch'] = int(time.time())
-            template_dict['autonumber'] = u'%05d' % self._num_downloads
+            autonumber_size = self.params.get('autonumber_size', 5)
+            autonumber_templ = u'%0' + str(autonumber_size) + u'd'
+            template_dict['autonumber'] = autonumber_templ % self._num_downloads
 
             sanitize = lambda k,v: sanitize_filename(
                 u'NA' if v is None else compat_str(v),
index 6a1a9bb52e9471aed8aa40132742a743e3babb17..6ca0ab674f9fe158e6cd79b0e7b25651ebf05321 100644 (file)
@@ -236,6 +236,9 @@ def parseOpts():
             help='number downloaded files starting from 00000', default=False)
     filesystem.add_option('-o', '--output',
             dest='outtmpl', metavar='TEMPLATE', help='output filename template. Use %(title)s to get the title, %(uploader)s for the uploader name, %(uploader_id)s for the uploader nickname if different, %(autonumber)s to get an automatically incremented number, %(ext)s for the filename extension, %(upload_date)s for the upload date (YYYYMMDD), %(extractor)s for the provider (youtube, metacafe, etc), %(id)s for the video id and %% for a literal percent. Use - to output to stdout. Can also be used to download to a different directory, for example with -o \'/my/downloads/%(uploader)s/%(title)s-%(id)s.%(ext)s\' .')
+    filesystem.add_option('--autonumber-size',
+            dest='autonumber_size', metavar='NUMBER',
+            help='Specifies the number of digits in %(autonumber)s when it is present in output filename template or --autonumber option is given')
     filesystem.add_option('--restrict-filenames',
             action='store_true', dest='restrictfilenames',
             help='Restrict filenames to only ASCII characters, and avoid "&" and spaces in filenames', default=False)
@@ -300,6 +303,8 @@ def parseOpts():
         print(u'[debug] System config: ' + repr(systemConf))
         print(u'[debug] User config: ' + repr(userConf))
         print(u'[debug] Command-line args: ' + repr(commandLineConf))
+        print(u'[debug] opts: ' + repr(opts))
+        print(u'[debug] args: ' + repr(args))
 
     return parser, opts, args
 
@@ -452,6 +457,7 @@ def _real_main():
         'format_limit': opts.format_limit,
         'listformats': opts.listformats,
         'outtmpl': outtmpl,
+        'autonumber_size': opts.autonumber_size,
         'restrictfilenames': opts.restrictfilenames,
         'ignoreerrors': opts.ignoreerrors,
         'ratelimit': opts.ratelimit,