mirror of
				https://github.com/janeczku/calibre-web
				synced 2025-10-31 15:23:02 +00:00 
			
		
		
		
	Handling of invalid cover files on upload
This commit is contained in:
		| @@ -63,7 +63,7 @@ log = logger.create() | |||||||
|  |  | ||||||
| try: | try: | ||||||
|     from wand.image import Image |     from wand.image import Image | ||||||
|     from wand.exceptions import MissingDelegateError |     from wand.exceptions import MissingDelegateError, BlobError | ||||||
|     use_IM = True |     use_IM = True | ||||||
| except (ImportError, RuntimeError) as e: | except (ImportError, RuntimeError) as e: | ||||||
|     log.debug('Cannot import Image, generating covers from non jpg files will not work: %s', e) |     log.debug('Cannot import Image, generating covers from non jpg files will not work: %s', e) | ||||||
| @@ -638,6 +638,7 @@ def save_cover(img, book_path): | |||||||
|             return False, _("Only jpg/jpeg/png/webp/bmp files are supported as coverfile") |             return False, _("Only jpg/jpeg/png/webp/bmp files are supported as coverfile") | ||||||
|         # convert to jpg because calibre only supports jpg |         # convert to jpg because calibre only supports jpg | ||||||
|         if content_type != 'image/jpg': |         if content_type != 'image/jpg': | ||||||
|  |             try: | ||||||
|                 if hasattr(img, 'stream'): |                 if hasattr(img, 'stream'): | ||||||
|                     imgc = Image(blob=img.stream) |                     imgc = Image(blob=img.stream) | ||||||
|                 else: |                 else: | ||||||
| @@ -645,6 +646,9 @@ def save_cover(img, book_path): | |||||||
|                 imgc.format = 'jpeg' |                 imgc.format = 'jpeg' | ||||||
|                 imgc.transform_colorspace("rgb") |                 imgc.transform_colorspace("rgb") | ||||||
|                 img = imgc |                 img = imgc | ||||||
|  |             except BlobError: | ||||||
|  |                 log.error("Invalid cover file content") | ||||||
|  |                 return False, _("Invalid cover file content") | ||||||
|     else: |     else: | ||||||
|         if content_type not in 'image/jpeg': |         if content_type not in 'image/jpeg': | ||||||
|             log.error("Only jpg/jpeg files are supported as coverfile") |             log.error("Only jpg/jpeg files are supported as coverfile") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Ozzie Isaacs
					Ozzie Isaacs