mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Remove ImageMagick from the legacy server
This commit is contained in:
parent
173be501a7
commit
18cb1d152e
@ -12,12 +12,11 @@ from collections import OrderedDict
|
|||||||
import cherrypy
|
import cherrypy
|
||||||
|
|
||||||
from calibre.constants import filesystem_encoding, config_dir
|
from calibre.constants import filesystem_encoding, config_dir
|
||||||
from calibre import (isbytestring, force_unicode, fit_image,
|
from calibre import (isbytestring, force_unicode, prepare_string_for_xml, sanitize_file_name2)
|
||||||
prepare_string_for_xml, sanitize_file_name2)
|
|
||||||
from calibre.utils.filenames import ascii_filename
|
from calibre.utils.filenames import ascii_filename
|
||||||
from calibre.utils.config import prefs, JSONConfig
|
from calibre.utils.config import prefs, JSONConfig
|
||||||
from calibre.utils.icu import sort_key
|
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.comments import comments_to_html
|
||||||
from calibre.library.server import custom_fields_to_display
|
from calibre.library.server import custom_fields_to_display
|
||||||
from calibre.library.field_metadata import category_icon_map
|
from calibre.library.field_metadata import category_icon_map
|
||||||
@ -333,14 +332,7 @@ class BrowseServer(object):
|
|||||||
data = I(name, data=True)
|
data = I(name, data=True)
|
||||||
except:
|
except:
|
||||||
raise cherrypy.HTTPError(404, 'no icon named: %r'%name)
|
raise cherrypy.HTTPError(404, 'no icon named: %r'%name)
|
||||||
img = Image()
|
self.__browse_icon_cache__[name] = scale_image(data, 48, 48, as_png=True)[-1]
|
||||||
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')
|
|
||||||
return self.__browse_icon_cache__[name]
|
return self.__browse_icon_cache__[name]
|
||||||
|
|
||||||
def browse_toplevel(self):
|
def browse_toplevel(self):
|
||||||
|
@ -9,13 +9,12 @@ import re, os, posixpath
|
|||||||
|
|
||||||
import cherrypy
|
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.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.caches import SortKeyGenerator
|
||||||
from calibre.library.save_to_disk import find_plugboard
|
from calibre.library.save_to_disk import find_plugboard
|
||||||
from calibre.ebooks.metadata import authors_to_string
|
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.utils.filenames import ascii_filename
|
||||||
from calibre.ebooks.metadata.opf2 import metadata_to_opf
|
from calibre.ebooks.metadata.opf2 import metadata_to_opf
|
||||||
from calibre.utils.config import tweaks
|
from calibre.utils.config import tweaks
|
||||||
@ -181,19 +180,9 @@ class ContentServer(object):
|
|||||||
quality = 50
|
quality = 50
|
||||||
elif quality > 99:
|
elif quality > 99:
|
||||||
quality = 99
|
quality = 99
|
||||||
return generate_thumbnail(cover, width=thumb_width,
|
return scale_image(cover, thumb_width, thumb_height, compression_quality=quality)[-1]
|
||||||
height=thumb_height, compression_quality=quality)[-1]
|
|
||||||
|
|
||||||
img = Image()
|
return save_cover_data_to(cover, None, minify_to=(self.max_cover_width, self.max_cover_height))
|
||||||
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))
|
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
import traceback
|
import traceback
|
||||||
cherrypy.log.error('Failed to generate cover:')
|
cherrypy.log.error('Failed to generate cover:')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user