mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-24 02:27:22 +00:00
Handle case that cover size is smaller than thumbnail size
Update teststatus
This commit is contained in:
parent
7ade4615a4
commit
224777f5e3
@ -17,6 +17,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
from shutil import copyfile, copyfileobj
|
||||||
from urllib.request import urlopen
|
from urllib.request import urlopen
|
||||||
|
|
||||||
from .. import constants
|
from .. import constants
|
||||||
@ -188,14 +189,18 @@ class TaskGenerateCoverThumbnails(CalibreTask):
|
|||||||
try:
|
try:
|
||||||
stream = urlopen(web_content_link)
|
stream = urlopen(web_content_link)
|
||||||
with Image(file=stream) as img:
|
with Image(file=stream) as img:
|
||||||
|
filename = self.cache.get_cache_file_path(thumbnail.filename,
|
||||||
|
constants.CACHE_TYPE_THUMBNAILS)
|
||||||
height = get_resize_height(thumbnail.resolution)
|
height = get_resize_height(thumbnail.resolution)
|
||||||
if img.height > height:
|
if img.height > height:
|
||||||
width = get_resize_width(thumbnail.resolution, img.width, img.height)
|
width = get_resize_width(thumbnail.resolution, img.width, img.height)
|
||||||
img.resize(width=width, height=height, filter='lanczos')
|
img.resize(width=width, height=height, filter='lanczos')
|
||||||
img.format = thumbnail.format
|
img.format = thumbnail.format
|
||||||
filename = self.cache.get_cache_file_path(thumbnail.filename,
|
|
||||||
constants.CACHE_TYPE_THUMBNAILS)
|
|
||||||
img.save(filename=filename)
|
img.save(filename=filename)
|
||||||
|
else:
|
||||||
|
with open(filename, 'rb') as fd:
|
||||||
|
copyfileobj(stream, fd)
|
||||||
|
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
# Bubble exception to calling function
|
# Bubble exception to calling function
|
||||||
self.log.debug('Error generating thumbnail file: ' + str(ex))
|
self.log.debug('Error generating thumbnail file: ' + str(ex))
|
||||||
@ -210,12 +215,15 @@ class TaskGenerateCoverThumbnails(CalibreTask):
|
|||||||
|
|
||||||
with Image(filename=book_cover_filepath) as img:
|
with Image(filename=book_cover_filepath) as img:
|
||||||
height = get_resize_height(thumbnail.resolution)
|
height = get_resize_height(thumbnail.resolution)
|
||||||
|
filename = self.cache.get_cache_file_path(thumbnail.filename, constants.CACHE_TYPE_THUMBNAILS)
|
||||||
if img.height > height:
|
if img.height > height:
|
||||||
width = get_resize_width(thumbnail.resolution, img.width, img.height)
|
width = get_resize_width(thumbnail.resolution, img.width, img.height)
|
||||||
img.resize(width=width, height=height, filter='lanczos')
|
img.resize(width=width, height=height, filter='lanczos')
|
||||||
img.format = thumbnail.format
|
img.format = thumbnail.format
|
||||||
filename = self.cache.get_cache_file_path(thumbnail.filename, constants.CACHE_TYPE_THUMBNAILS)
|
|
||||||
img.save(filename=filename)
|
img.save(filename=filename)
|
||||||
|
else:
|
||||||
|
# take cover as is
|
||||||
|
copyfile(book_cover_filepath, filename)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user