mirror of
				https://github.com/ytdl-org/youtube-dl
				synced 2025-10-31 17:53:11 +00:00 
			
		
		
		
	[core] Avoid processing empty format list after removing bad formats
* also ensure compat encoding of error strings
This commit is contained in:
		
							parent
							
								
									556862bc91
								
							
						
					
					
						commit
						66e58dccc2
					
				| @ -721,7 +721,7 @@ class YoutubeDL(object): | ||||
|                 filename = encodeFilename(filename, True).decode(preferredencoding()) | ||||
|             return sanitize_path(filename) | ||||
|         except ValueError as err: | ||||
|             self.report_error('Error in output template: ' + str(err) + ' (encoding: ' + repr(preferredencoding()) + ')') | ||||
|             self.report_error('Error in output template: ' + error_to_compat_str(err) + ' (encoding: ' + repr(preferredencoding()) + ')') | ||||
|             return None | ||||
| 
 | ||||
|     def _match_entry(self, info_dict, incomplete): | ||||
| @ -1570,9 +1570,6 @@ class YoutubeDL(object): | ||||
|         else: | ||||
|             formats = info_dict['formats'] | ||||
| 
 | ||||
|         if not formats: | ||||
|             raise ExtractorError('No video formats found!') | ||||
| 
 | ||||
|         def is_wellformed(f): | ||||
|             url = f.get('url') | ||||
|             if not url: | ||||
| @ -1585,7 +1582,10 @@ class YoutubeDL(object): | ||||
|             return True | ||||
| 
 | ||||
|         # Filter out malformed formats for better extraction robustness | ||||
|         formats = list(filter(is_wellformed, formats)) | ||||
|         formats = list(filter(is_wellformed, formats or [])) | ||||
| 
 | ||||
|         if not formats: | ||||
|             raise ExtractorError('No video formats found!') | ||||
| 
 | ||||
|         formats_dict = {} | ||||
| 
 | ||||
| @ -2058,7 +2058,7 @@ class YoutubeDL(object): | ||||
|                 try: | ||||
|                     self.post_process(filename, info_dict) | ||||
|                 except (PostProcessingError) as err: | ||||
|                     self.report_error('postprocessing: %s' % str(err)) | ||||
|                     self.report_error('postprocessing: %s' % error_to_compat_str(err)) | ||||
|                     return | ||||
|                 self.record_download_archive(info_dict) | ||||
|                 # avoid possible nugatory search for further items (PR #26638) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 dirkf
						dirkf