aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2013-04-16 15:13:29 +0200
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2013-04-16 15:13:29 +0200
commitd281274bf250065f876bb4f75fb6f711e1a26eba (patch)
tree57eb7a54818883d395becbf6922b012220eda970
parentbce878a7c1678ac698ecd556b2c77a1e2f2306df (diff)
Add a playlist_index key to the info_dict, can be used in the output template
-rw-r--r--README.md1
-rw-r--r--youtube_dl/FileDownloader.py4
2 files changed, 5 insertions, 0 deletions
diff --git a/README.md b/README.md
index c8d28db3c..e2958a9b0 100644
--- a/README.md
+++ b/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).
diff --git a/youtube_dl/FileDownloader.py b/youtube_dl/FileDownloader.py
index 5a5141ba5..4dabbb440 100644
--- a/youtube_dl/FileDownloader.py
+++ b/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)