summary refs log tree commit diff
diff options
context:
space:
mode:
authorStanislav Kupryakhin <st.kupr@gmail.com>2013-04-02 11:40:07 +0700
committerPhilipp Hagemeister <phihag@phihag.de>2013-04-11 10:53:57 +0200
commit213c31ae16641ed2df61f0abbd7ea032267b2222 (patch)
treeb9472021903f7a67bcd7c0569f914e03a02ec685
parent04f3d551a0b49ffede5467138d56cb3fceacaa1d (diff)
downloadyoutube-dl-213c31ae16641ed2df61f0abbd7ea032267b2222.tar.gz
youtube-dl-213c31ae16641ed2df61f0abbd7ea032267b2222.tar.xz
youtube-dl-213c31ae16641ed2df61f0abbd7ea032267b2222.zip
Added option --autonumber-size:
  Specifies the number of digits in %(autonumber)s when it is present in output filename template or --autonumber option is given
-rw-r--r--youtube_dl/FileDownloader.py4
-rw-r--r--youtube_dl/__init__.py6
2 files changed, 9 insertions, 1 deletions
diff --git a/youtube_dl/FileDownloader.py b/youtube_dl/FileDownloader.py
index e801db00a..7731db17f 100644
--- a/youtube_dl/FileDownloader.py
+++ b/youtube_dl/FileDownloader.py
@@ -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),
diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py
index 6a1a9bb52..6ca0ab674 100644
--- a/youtube_dl/__init__.py
+++ b/youtube_dl/__init__.py
@@ -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,