mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	Pass the playlist info_dict to process_info
the playlist value can be used in the output template
This commit is contained in:
		| @@ -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). |  - `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. |  - `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. |  - `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). | 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). | ||||||
|  |  | ||||||
|   | |||||||
| @@ -460,12 +460,21 @@ class FileDownloader(object): | |||||||
|             elif result_type == 'playlist': |             elif result_type == 'playlist': | ||||||
|                 #We process each entry in the playlist |                 #We process each entry in the playlist | ||||||
|                 entries_result = self.process_ie_results(result['entries'], ie) |                 entries_result = self.process_ie_results(result['entries'], ie) | ||||||
|                 results.extend(entries_result) |                 result['entries'] = entries_result | ||||||
|  |                 results.extend([result]) | ||||||
|         return results |         return results | ||||||
|  |  | ||||||
|     def process_info(self, info_dict): |     def process_info(self, info_dict): | ||||||
|         """Process a single dictionary returned by an InfoExtractor.""" |         """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 |         # Keep for backwards compatibility | ||||||
|         info_dict['stitle'] = info_dict['title'] |         info_dict['stitle'] = info_dict['title'] | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jaime Marquínez Ferrándiz
					Jaime Marquínez Ferrándiz