mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
Continue addressing review comments
Less destructive to the legacy KOBO driver (only honor letterboxing, and only do it to full-screen covers like KOBOTOUCH). Also, unbreak legacy settings by not re-ordering them.
This commit is contained in:
parent
7c02419eed
commit
d0cf06a5e5
@ -154,13 +154,11 @@ class KOBO(USBMS):
|
||||
OPT_COLLECTIONS = 0
|
||||
OPT_UPLOAD_COVERS = 1
|
||||
OPT_UPLOAD_GRAYSCALE_COVERS = 2
|
||||
OPT_DITHERED_COVERS = 3
|
||||
OPT_LETTERBOX_FULLSCREEN_COVERS = 4
|
||||
OPT_PNG_COVERS = 5
|
||||
OPT_SHOW_EXPIRED_BOOK_RECORDS = 6
|
||||
OPT_SHOW_PREVIEWS = 7
|
||||
OPT_SHOW_RECOMMENDATIONS = 8
|
||||
OPT_SUPPORT_NEWER_FIRMWARE = 9
|
||||
OPT_SHOW_EXPIRED_BOOK_RECORDS = 3
|
||||
OPT_SHOW_PREVIEWS = 4
|
||||
OPT_SHOW_RECOMMENDATIONS = 5
|
||||
OPT_SUPPORT_NEWER_FIRMWARE = 6
|
||||
OPT_LETTERBOX_FULLSCREEN_COVERS = 7
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
USBMS.__init__(self, *args, **kwargs)
|
||||
@ -1001,28 +999,18 @@ class KOBO(USBMS):
|
||||
else:
|
||||
uploadgrayscale = True
|
||||
|
||||
if not opts.extra_customization[self.OPT_DITHERED_COVERS]:
|
||||
ditheredcovers = False
|
||||
else:
|
||||
ditheredcovers = True
|
||||
|
||||
if not opts.extra_customization[self.OPT_LETTERBOX_FULLSCREEN_COVERS]:
|
||||
letterboxcovers = False
|
||||
else:
|
||||
letterboxcovers = True
|
||||
|
||||
if not opts.extra_customization[self.OPT_PNG_COVERS]:
|
||||
pngcovers = False
|
||||
else:
|
||||
pngcovers = True
|
||||
|
||||
debug_print('KOBO: uploading cover')
|
||||
try:
|
||||
self._upload_cover(path, filename, metadata, filepath, uploadgrayscale, ditheredcovers, letterboxcovers, pngcovers)
|
||||
self._upload_cover(path, filename, metadata, filepath, uploadgrayscale, letterboxcovers)
|
||||
except:
|
||||
debug_print('FAILED to upload cover', filepath)
|
||||
|
||||
def _upload_cover(self, path, filename, metadata, filepath, uploadgrayscale, ditheredcovers, letterboxcovers, pngcovers):
|
||||
def _upload_cover(self, path, filename, metadata, filepath, uploadgrayscale, letterboxcovers):
|
||||
from calibre.utils.img import save_cover_data_to
|
||||
if metadata.cover:
|
||||
cover = self.normalize_path(metadata.cover.replace('/', os.sep))
|
||||
@ -1065,13 +1053,16 @@ class KOBO(USBMS):
|
||||
fpath = path + ending
|
||||
fpath = self.normalize_path(fpath.replace('/', os.sep))
|
||||
|
||||
# Only full-screen covers should be letterboxed
|
||||
letterbox = letterboxcovers and "N3_FULL" in ending
|
||||
|
||||
if os.path.exists(fpath):
|
||||
with lopen(cover, 'rb') as f:
|
||||
data = f.read()
|
||||
|
||||
# Return the data resized and grayscaled/dithered/letterboxed if
|
||||
# Return the data resized and grayscaled/letterboxed if
|
||||
# required
|
||||
data = save_cover_data_to(data, grayscale=uploadgrayscale, eink=ditheredcovers, resize_to=resize, minify_to=resize, letterbox=letterboxcovers, data_fmt="png" if pngcovers else "jpeg")
|
||||
data = save_cover_data_to(data, grayscale=uploadgrayscale, resize_to=resize, minify_to=resize, letterbox=letterbox)
|
||||
|
||||
with lopen(fpath, 'wb') as f:
|
||||
f.write(data)
|
||||
@ -1116,13 +1107,11 @@ class KOBO(USBMS):
|
||||
OPT_COLLECTIONS = 0
|
||||
OPT_UPLOAD_COVERS = 1
|
||||
OPT_UPLOAD_GRAYSCALE_COVERS = 2
|
||||
OPT_DITHERED_COVERS = 3
|
||||
OPT_LETTERBOX_FULLSCREEN_COVERS = 4
|
||||
OPT_PNG_COVERS = 5
|
||||
OPT_SHOW_EXPIRED_BOOK_RECORDS = 6
|
||||
OPT_SHOW_PREVIEWS = 7
|
||||
OPT_SHOW_RECOMMENDATIONS = 8
|
||||
OPT_SUPPORT_NEWER_FIRMWARE = 9
|
||||
OPT_SHOW_EXPIRED_BOOK_RECORDS = 3
|
||||
OPT_SHOW_PREVIEWS = 4
|
||||
OPT_SHOW_RECOMMENDATIONS = 5
|
||||
OPT_SUPPORT_NEWER_FIRMWARE = 6
|
||||
OPT_LETTERBOX_FULLSCREEN_COVERS = 7
|
||||
|
||||
p = {}
|
||||
p['format_map'] = old_settings.format_map
|
||||
@ -1136,9 +1125,7 @@ class KOBO(USBMS):
|
||||
|
||||
p['upload_covers'] = old_settings.extra_customization[OPT_UPLOAD_COVERS]
|
||||
p['upload_grayscale'] = old_settings.extra_customization[OPT_UPLOAD_GRAYSCALE_COVERS]
|
||||
p['dithered_covers'] = old_settings.extra_customization[OPT_DITHERED_COVERS]
|
||||
p['letterbox_fs_covers'] = old_settings.extra_customization[OPT_LETTERBOX_FULLSCREEN_COVERS]
|
||||
p['png_covers'] = old_settings.extra_customization[OPT_PNG_COVERS]
|
||||
|
||||
p['show_expired_books'] = old_settings.extra_customization[OPT_SHOW_EXPIRED_BOOK_RECORDS]
|
||||
p['show_previews'] = old_settings.extra_customization[OPT_SHOW_PREVIEWS]
|
||||
|
Loading…
x
Reference in New Issue
Block a user