mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	 f2a4ea1794
			
		
	
	f2a4ea1794
	
	
	
		
			
			* [compat] Improve `imghdr.what` detection * [pp/embedthumbnail] Improve imghdr fail message * [pp/embedthumbnail] Fix AtomicParsley error handling Authored by: Grub4K
		
			
				
	
	
		
			23 lines
		
	
	
		
			582 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			582 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| def what(file=None, h=None):
 | |
|     """Detect format of image (Currently supports jpeg, png, webp, gif only)
 | |
|     Ref: https://github.com/python/cpython/blob/3.11/Lib/imghdr.py
 | |
|     Ref: https://www.w3.org/Graphics/JPEG/itu-t81.pdf
 | |
|     """
 | |
|     if h is None:
 | |
|         with open(file, 'rb') as f:
 | |
|             h = f.read(12)
 | |
| 
 | |
|     if h.startswith(b'RIFF') and h.startswith(b'WEBP', 8):
 | |
|         return 'webp'
 | |
| 
 | |
|     if h.startswith(b'\x89PNG'):
 | |
|         return 'png'
 | |
| 
 | |
|     if h.startswith(b'\xFF\xD8\xFF'):
 | |
|         return 'jpeg'
 | |
| 
 | |
|     if h.startswith(b'GIF'):
 | |
|         return 'gif'
 | |
| 
 | |
|     return None
 |