Browse Source

Add a playlist_index key to the info_dict, can be used in the output template

Jaime Marquínez Ferrándiz 12 years ago
parent
commit
d281274bf2
2 changed files with 5 additions and 0 deletions
  1. 1 0
      README.md
  2. 4 0
      youtube_dl/FileDownloader.py

+ 1 - 0
README.md

@@ -145,6 +145,7 @@ The `-o` option allows users to indicate a template for the output file names. T
  - `epoch`: The sequence will be replaced by the Unix epoch when creating the file.
  - `autonumber`: The sequence will be replaced by a five-digit number that will be increased with each download, starting at zero.
  - `playlist`: The name or the id of the playlist that contains the video.
+ - `playlist_index`: The index of the video in the playlist, a five-digit number.
 
 The current default template is `%(id)s.%(ext)s`, but that will be switchted to `%(title)s-%(id)s.%(ext)s` (which can be requested with `-t` at the moment).
 

+ 4 - 0
youtube_dl/FileDownloader.py

@@ -389,6 +389,8 @@ class FileDownloader(object):
 
             template_dict['epoch'] = int(time.time())
             template_dict['autonumber'] = u'%05d' % self._num_downloads
+            if template_dict['playlist_index'] is not None:
+                template_dict['playlist_index'] = u'%05d' % template_dict['playlist_index']
 
             sanitize = lambda k,v: sanitize_filename(
                 u'NA' if v is None else compat_str(v),
@@ -473,6 +475,7 @@ class FileDownloader(object):
             if 'playlist' not in ie_result:
                 #It isn't part of a playlist
                 ie_result['playlist'] = None
+                ie_result['playlist_index'] = None
             if download:
                 #Do the download:
                 self.process_info(ie_result)
@@ -506,6 +509,7 @@ class FileDownloader(object):
                 self.to_screen(u'[download] Downloading video #%s of %s' %(i, n_entries))
                 entry_result = self.process_ie_result(entry, False)
                 entry_result['playlist'] = playlist
+                entry_result['playlist_index'] = i + playliststart
                 #We must do the download here to correctly set the 'playlist' key
                 if download:
                     self.process_info(entry_result)