mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[downloader/external] Fix download finalization when writing file to stdout (closes #10809)
An OSError or IOError generally indicates something a little more wrong than a "simple" UnavailableVideoError, so print the actual traceback that leads to the exception. Otherwise meaningful postmortem debugging a bug report is essentially infeasible.
This commit is contained in:
		 John Hawkinson
					John Hawkinson
				
			
				
					committed by
					
						 Sergey M․
						Sergey M․
					
				
			
			
				
	
			
			
			 Sergey M․
						Sergey M․
					
				
			
						parent
						
							0ff2c1ecb6
						
					
				
				
					commit
					80aa246094
				
			| @@ -249,12 +249,14 @@ class FileDownloader(object): | ||||
|             if self.params.get('noprogress', False): | ||||
|                 self.to_screen('[download] Download completed') | ||||
|             else: | ||||
|                 if s.get('total_bytes') is not None: | ||||
|                     s['_total_bytes_str'] = format_bytes(s['total_bytes']) | ||||
|                     msg_template = '100%% of %(_total_bytes_str)s' | ||||
|                 else: | ||||
|                     msg_template = 'Completed' | ||||
|                 if s.get('elapsed') is not None: | ||||
|                     s['_elapsed_str'] = self.format_seconds(s['elapsed']) | ||||
|                     msg_template = '100%% of %(_total_bytes_str)s in %(_elapsed_str)s' | ||||
|                 else: | ||||
|                     msg_template = '100%% of %(_total_bytes_str)s' | ||||
|                     msg_template += ' in %(_elapsed_str)s' | ||||
|                 self._report_progress_status( | ||||
|                     msg_template % s, is_last_line=True) | ||||
|  | ||||
|   | ||||
| @@ -41,6 +41,12 @@ class ExternalFD(FileDownloader): | ||||
|             self.to_screen('[%s] Interrupted by user' % self.get_basename()) | ||||
|  | ||||
|         if retval == 0: | ||||
|             if filename == '-': | ||||
|                 self._hook_progress({ | ||||
|                     'filename': filename, | ||||
|                     'status': 'finished', | ||||
|                 }) | ||||
|             else: | ||||
|                 fsize = os.path.getsize(encodeFilename(tmpfilename)) | ||||
|                 self.to_screen('\r[%s] Downloaded %s bytes' % (self.get_basename(), fsize)) | ||||
|                 self.try_rename(tmpfilename, filename) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user