mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[cleanup] Refactor some code
This commit is contained in:
		| @@ -126,6 +126,7 @@ from .extractor import ( | ||||
| ) | ||||
| from .extractor.openload import PhantomJSwrapper | ||||
| from .downloader import ( | ||||
|     FFmpegFD, | ||||
|     get_suitable_downloader, | ||||
|     shorten_protocol_name | ||||
| ) | ||||
| @@ -2690,20 +2691,15 @@ class YoutubeDL(object): | ||||
|                     info_dict['__real_download'] = False | ||||
|  | ||||
|                     _protocols = set(determine_protocol(f) for f in requested_formats) | ||||
|                     if len(_protocols) == 1: | ||||
|                     if len(_protocols) == 1:  # All requested formats have same protocol | ||||
|                         info_dict['protocol'] = _protocols.pop() | ||||
|                     directly_mergable = ( | ||||
|                         'no-direct-merge' not in self.params.get('compat_opts', []) | ||||
|                         and info_dict.get('protocol') is not None  # All requested formats have same protocol | ||||
|                         and not self.params.get('allow_unplayable_formats') | ||||
|                         and get_suitable_downloader(info_dict, self.params).__name__ == 'FFmpegFD') | ||||
|                     if directly_mergable: | ||||
|                         info_dict['url'] = requested_formats[0]['url'] | ||||
|                         # Treat it as a single download | ||||
|                         dl_filename = existing_file(full_filename, temp_filename) | ||||
|                         if dl_filename is None: | ||||
|                             success, real_download = self.dl(temp_filename, info_dict) | ||||
|                             info_dict['__real_download'] = real_download | ||||
|                     directly_mergable = FFmpegFD.can_merge_formats(info_dict) | ||||
|                     if dl_filename is not None: | ||||
|                         pass | ||||
|                     elif (directly_mergable and get_suitable_downloader(info_dict, self.params) == FFmpegFD): | ||||
|                         info_dict['url'] = '\n'.join(f['url'] for f in requested_formats) | ||||
|                         success, real_download = self.dl(temp_filename, info_dict) | ||||
|                         info_dict['__real_download'] = real_download | ||||
|                     else: | ||||
|                         downloaded = [] | ||||
|                         merger = FFmpegMergerPP(self) | ||||
| @@ -2717,28 +2713,25 @@ class YoutubeDL(object): | ||||
|                                 'You have requested merging of multiple formats but ffmpeg is not installed. ' | ||||
|                                 'The formats won\'t be merged.') | ||||
|  | ||||
|                         if dl_filename is None: | ||||
|                             for f in requested_formats: | ||||
|                                 new_info = dict(info_dict) | ||||
|                                 del new_info['requested_formats'] | ||||
|                                 new_info.update(f) | ||||
|                                 fname = prepend_extension( | ||||
|                                     self.prepare_filename(new_info, 'temp'), | ||||
|                                     'f%s' % f['format_id'], new_info['ext']) | ||||
|                                 if not self._ensure_dir_exists(fname): | ||||
|                                     return | ||||
|                                 downloaded.append(fname) | ||||
|                                 partial_success, real_download = self.dl(fname, new_info) | ||||
|                                 info_dict['__real_download'] = info_dict['__real_download'] or real_download | ||||
|                                 success = success and partial_success | ||||
|                             if merger.available and not self.params.get('allow_unplayable_formats'): | ||||
|                                 info_dict['__postprocessors'].append(merger) | ||||
|                                 info_dict['__files_to_merge'] = downloaded | ||||
|                                 # Even if there were no downloads, it is being merged only now | ||||
|                                 info_dict['__real_download'] = True | ||||
|                             else: | ||||
|                                 for file in downloaded: | ||||
|                                     files_to_move[file] = None | ||||
|                         for f in requested_formats: | ||||
|                             new_info = dict(info_dict) | ||||
|                             del new_info['requested_formats'] | ||||
|                             new_info.update(f) | ||||
|                             fname = prepend_extension(temp_filename, 'f%s' % f['format_id'], new_info['ext']) | ||||
|                             if not self._ensure_dir_exists(fname): | ||||
|                                 return | ||||
|                             downloaded.append(fname) | ||||
|                             partial_success, real_download = self.dl(fname, new_info) | ||||
|                             info_dict['__real_download'] = info_dict['__real_download'] or real_download | ||||
|                             success = success and partial_success | ||||
|                         if merger.available and not self.params.get('allow_unplayable_formats'): | ||||
|                             info_dict['__postprocessors'].append(merger) | ||||
|                             info_dict['__files_to_merge'] = downloaded | ||||
|                             # Even if there were no downloads, it is being merged only now | ||||
|                             info_dict['__real_download'] = True | ||||
|                         else: | ||||
|                             for file in downloaded: | ||||
|                                 files_to_move[file] = None | ||||
|                 else: | ||||
|                     # Just a single file | ||||
|                     dl_filename = existing_file(full_filename, temp_filename) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan