From e0261c2ba1e53300275849818df0b78729f99b98 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Sun, 12 Sep 2010 22:50:34 +0100 Subject: [PATCH] This time, do json thumbnails right. --- src/calibre/ebooks/metadata/book/json_codec.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/calibre/ebooks/metadata/book/json_codec.py b/src/calibre/ebooks/metadata/book/json_codec.py index a6235e64d5..51b9722803 100644 --- a/src/calibre/ebooks/metadata/book/json_codec.py +++ b/src/calibre/ebooks/metadata/book/json_codec.py @@ -12,7 +12,7 @@ from calibre.ebooks.metadata.book import SERIALIZABLE_FIELDS from calibre.constants import filesystem_encoding, preferred_encoding from calibre.library.field_metadata import FieldMetadata from calibre.utils.date import parse_date, isoformat, UNDEFINED_DATE -from calibre.utils.magick.draw import identify_data +from calibre.utils.magick import Image from calibre import isbytestring # Translate datetimes to and from strings. The string form is the datetime in @@ -33,12 +33,15 @@ def encode_thumbnail(thumbnail): ''' if thumbnail is None: return None - if isinstance(thumbnail, tuple): + if not isinstance(thumbnail, tuple): try: - thumbnail = identify_data(thumbnail) + img = Image() + img.load(thumbnail) + width, height = img.size + thumbnail = (width, height, thumbnail) except: return None - return (0, 0, b64encode(str(thumbnail))) + return (thumbnail[0], thumbnail[1], b64encode(str(thumbnail[2]))) def decode_thumbnail(tup): '''