Remove ImageMagick from the legacy server

This commit is contained in:
Kovid Goyal 2016-05-04 18:00:18 +05:30
parent 173be501a7
commit 18cb1d152e
2 changed files with 7 additions and 26 deletions

View File

@ -12,12 +12,11 @@ from collections import OrderedDict
import cherrypy
from calibre.constants import filesystem_encoding, config_dir
from calibre import (isbytestring, force_unicode, fit_image,
prepare_string_for_xml, sanitize_file_name2)
from calibre import (isbytestring, force_unicode, prepare_string_for_xml, sanitize_file_name2)
from calibre.utils.filenames import ascii_filename
from calibre.utils.config import prefs, JSONConfig
from calibre.utils.icu import sort_key
from calibre.utils.magick import Image
from calibre.utils.img import scale_image
from calibre.library.comments import comments_to_html
from calibre.library.server import custom_fields_to_display
from calibre.library.field_metadata import category_icon_map
@ -333,14 +332,7 @@ class BrowseServer(object):
data = I(name, data=True)
except:
raise cherrypy.HTTPError(404, 'no icon named: %r'%name)
img = Image()
img.load(data)
width, height = img.size
scaled, width, height = fit_image(width, height, 48, 48)
if scaled:
img.size = (width, height)
self.__browse_icon_cache__[name] = img.export('png')
self.__browse_icon_cache__[name] = scale_image(data, 48, 48, as_png=True)[-1]
return self.__browse_icon_cache__[name]
def browse_toplevel(self):

View File

@ -9,13 +9,12 @@ import re, os, posixpath
import cherrypy
from calibre import fit_image, guess_type
from calibre import guess_type
from calibre.utils.date import fromtimestamp, as_utc
from calibre.utils.img import save_cover_data_to, scale_image
from calibre.library.caches import SortKeyGenerator
from calibre.library.save_to_disk import find_plugboard
from calibre.ebooks.metadata import authors_to_string
from calibre.utils.magick.draw import (save_cover_data_to, Image,
thumbnail as generate_thumbnail)
from calibre.utils.filenames import ascii_filename
from calibre.ebooks.metadata.opf2 import metadata_to_opf
from calibre.utils.config import tweaks
@ -181,19 +180,9 @@ class ContentServer(object):
quality = 50
elif quality > 99:
quality = 99
return generate_thumbnail(cover, width=thumb_width,
height=thumb_height, compression_quality=quality)[-1]
return scale_image(cover, thumb_width, thumb_height, compression_quality=quality)[-1]
img = Image()
img.load(cover)
width, height = img.size
scaled, width, height = fit_image(width, height,
thumb_width if thumbnail else self.max_cover_width,
thumb_height if thumbnail else self.max_cover_height)
if not scaled:
return cover
return save_cover_data_to(img, 'img.jpg', return_data=True,
resize_to=(width, height))
return save_cover_data_to(cover, None, minify_to=(self.max_cover_width, self.max_cover_height))
except Exception as err:
import traceback
cherrypy.log.error('Failed to generate cover:')