summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <[email protected]>2013-03-29 12:32:42 +0100
committerJaime Marquínez Ferrándiz <[email protected]>2013-03-29 12:32:42 +0100
commit7eab8dc7504cf1f5f1dd03eb62e266ce24948b93 (patch)
tree65f3bd7ac4e261c99dbb4fe7edfc543f7b01f6ba
parentd2c690828a8297c014d8053fbdee4e26fe11586a (diff)
downloadyoutube-dl-7eab8dc7504cf1f5f1dd03eb62e266ce24948b93.tar.gz
youtube-dl-7eab8dc7504cf1f5f1dd03eb62e266ce24948b93.zip
Pass the playlist info_dict to process_info
the playlist value can be used in the output template
-rw-r--r--README.md1
-rw-r--r--youtube_dl/FileDownloader.py11
2 files changed, 11 insertions, 1 deletions
diff --git a/README.md b/README.md
index 7c09d0c0d..1f3422ef8 100644
--- a/README.md
+++ b/README.md
@@ -138,6 +138,7 @@ The `-o` option allows users to indicate a template for the output file names. T
- `ext`: The sequence will be replaced by the appropriate extension (like flv or mp4).
- `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.
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 6af2acbee..d2b9be9ef 100644
--- a/youtube_dl/FileDownloader.py
+++ b/youtube_dl/FileDownloader.py
@@ -460,12 +460,21 @@ class FileDownloader(object):
elif result_type == 'playlist':
#We process each entry in the playlist
entries_result = self.process_ie_results(result['entries'], ie)
- results.extend(entries_result)
+ result['entries'] = entries_result
+ results.extend([result])
return results
def process_info(self, info_dict):
"""Process a single dictionary returned by an InfoExtractor."""
+ if info_dict.get('_type','video') == 'playlist':
+ playlist = info_dict.get('title', None) or info_dict.get('id', None)
+ self.to_screen(u'[download] Downloading playlist: %s' % playlist)
+ for video in info_dict['entries']:
+ video['playlist'] = playlist
+ self.process_info(video)
+ return
+
# Keep for backwards compatibility
info_dict['stitle'] = info_dict['title']