mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Viewer: Dont generate covers for books that dont have a cover
This commit is contained in:
parent
b20f1d3fd7
commit
989e4de74c
@ -204,7 +204,7 @@ class Container(ContainerBase):
|
|||||||
|
|
||||||
tweak_mode = True
|
tweak_mode = True
|
||||||
|
|
||||||
def __init__(self, path_to_ebook, tdir, log=None, book_hash=None, save_bookmark_data=False, book_metadata=None, allow_no_cover=False):
|
def __init__(self, path_to_ebook, tdir, log=None, book_hash=None, save_bookmark_data=False, book_metadata=None, allow_no_cover=True):
|
||||||
log = log or default_log
|
log = log or default_log
|
||||||
self.allow_no_cover = allow_no_cover
|
self.allow_no_cover = allow_no_cover
|
||||||
book_fmt, opfpath, input_fmt = extract_book(path_to_ebook, tdir, log=log)
|
book_fmt, opfpath, input_fmt = extract_book(path_to_ebook, tdir, log=log)
|
||||||
|
@ -221,7 +221,10 @@ class DB:
|
|||||||
store_as_text = xhr.responseType is 'text' or not xhr.responseType
|
store_as_text = xhr.responseType is 'text' or not xhr.responseType
|
||||||
fname = file_store_name(book, name)
|
fname = file_store_name(book, name)
|
||||||
needs_encoding = not store_as_text and not self.supports_blobs
|
needs_encoding = not store_as_text and not self.supports_blobs
|
||||||
book.stored_files[fname] = {'encoded':needs_encoding, 'mimetype':book.manifest.files[name].mimetype, 'store_as_text':store_as_text}
|
mt = book.manifest.files[name]?.mimetype
|
||||||
|
if not mt and is_cover:
|
||||||
|
mt = 'image/jpeg'
|
||||||
|
book.stored_files[fname] = {'encoded':needs_encoding, 'mimetype':mt, 'store_as_text':store_as_text}
|
||||||
if is_cover:
|
if is_cover:
|
||||||
self.store_cover(book, needs_encoding, xhr.response, name, fname, proceed)
|
self.store_cover(book, needs_encoding, xhr.response, name, fname, proceed)
|
||||||
else:
|
else:
|
||||||
|
@ -290,6 +290,16 @@ class ReadUI:
|
|||||||
progress_track = {}
|
progress_track = {}
|
||||||
pbar.setAttribute('max', total + '')
|
pbar.setAttribute('max', total + '')
|
||||||
raster_cover_name = book.manifest.raster_cover_name
|
raster_cover_name = book.manifest.raster_cover_name
|
||||||
|
if not raster_cover_name:
|
||||||
|
nnum = 1
|
||||||
|
base = 'raster-cover-image-{}.jpg'
|
||||||
|
inserted_name = base.format(nnum)
|
||||||
|
while inserted_name in files_left:
|
||||||
|
nnum += 1
|
||||||
|
inserted_name = base.format(nnum)
|
||||||
|
raster_cover_name = inserted_name
|
||||||
|
files_left.add(raster_cover_name)
|
||||||
|
|
||||||
raster_cover_size = 0
|
raster_cover_size = 0
|
||||||
|
|
||||||
def update_progress():
|
def update_progress():
|
||||||
@ -338,7 +348,7 @@ class ReadUI:
|
|||||||
if this is raster_cover_name and not cover_total_updated:
|
if this is raster_cover_name and not cover_total_updated:
|
||||||
raster_cover_size = ftotal
|
raster_cover_size = ftotal
|
||||||
cover_total_updated = True
|
cover_total_updated = True
|
||||||
total = total - files[raster_cover_name].size + raster_cover_size
|
total = total - (files[raster_cover_name]?.size or 0) + raster_cover_size
|
||||||
pbar.setAttribute('max', total + '')
|
pbar.setAttribute('max', total + '')
|
||||||
progress_track[this] = loaded
|
progress_track[this] = loaded
|
||||||
update_progress()
|
update_progress()
|
||||||
@ -346,7 +356,7 @@ class ReadUI:
|
|||||||
def start_download(fname, path):
|
def start_download(fname, path):
|
||||||
xhr = ajax(path, on_complete.bind(fname), on_progress=on_progress.bind(fname), query=query, progress_totals_needed=fname is raster_cover_name)
|
xhr = ajax(path, on_complete.bind(fname), on_progress=on_progress.bind(fname), query=query, progress_totals_needed=fname is raster_cover_name)
|
||||||
xhr.responseType = 'text'
|
xhr.responseType = 'text'
|
||||||
if not book.manifest.files[fname].is_virtualized:
|
if not book.manifest.files[fname]?.is_virtualized:
|
||||||
xhr.responseType = 'blob' if self.db.supports_blobs else 'arraybuffer'
|
xhr.responseType = 'blob' if self.db.supports_blobs else 'arraybuffer'
|
||||||
xhr.send()
|
xhr.send()
|
||||||
self.downloads_in_progress.append(xhr)
|
self.downloads_in_progress.append(xhr)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user