diff options
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | youtube_dl/FileDownloader.py | 11 | 
2 files changed, 11 insertions, 1 deletions
@@ -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']  | 
