mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Use new cover infrastructure for bulk downloads as well
This commit is contained in:
parent
73b8a5a09e
commit
b2a06ab07a
@ -13,8 +13,10 @@ from Queue import Queue, Empty
|
|||||||
|
|
||||||
from calibre.ebooks.metadata.fetch import search, get_social_metadata
|
from calibre.ebooks.metadata.fetch import search, get_social_metadata
|
||||||
from calibre.gui2 import config
|
from calibre.gui2 import config
|
||||||
from calibre.ebooks.metadata.library_thing import cover_from_isbn
|
from calibre.ebooks.metadata.covers import download_cover
|
||||||
from calibre.customize.ui import get_isbndb_key
|
from calibre.customize.ui import get_isbndb_key
|
||||||
|
from calibre import prints
|
||||||
|
from calibre.constants import DEBUG
|
||||||
|
|
||||||
class Worker(Thread):
|
class Worker(Thread):
|
||||||
|
|
||||||
@ -26,13 +28,15 @@ class Worker(Thread):
|
|||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
while True:
|
while True:
|
||||||
isbn = self.jobs.get()
|
mi = self.jobs.get()
|
||||||
if not isbn:
|
if not getattr(mi, 'isbn', False):
|
||||||
break
|
break
|
||||||
try:
|
try:
|
||||||
cdata, _ = cover_from_isbn(isbn)
|
cdata, errors = download_cover(mi)
|
||||||
if cdata:
|
if cdata:
|
||||||
self.results.put((isbn, cdata))
|
self.results.put((mi.isbn, cdata))
|
||||||
|
elif DEBUG:
|
||||||
|
prints('Cover download failed:', errors)
|
||||||
except:
|
except:
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|
||||||
@ -98,7 +102,7 @@ class DownloadMetadata(Thread):
|
|||||||
fmi = results[0]
|
fmi = results[0]
|
||||||
self.fetched_metadata[id] = fmi
|
self.fetched_metadata[id] = fmi
|
||||||
if fmi.isbn and self.get_covers:
|
if fmi.isbn and self.get_covers:
|
||||||
self.worker.jobs.put(fmi.isbn)
|
self.worker.jobs.put(fmi)
|
||||||
if (not config['overwrite_author_title_metadata']):
|
if (not config['overwrite_author_title_metadata']):
|
||||||
fmi.authors = mi.authors
|
fmi.authors = mi.authors
|
||||||
fmi.author_sort = mi.author_sort
|
fmi.author_sort = mi.author_sort
|
||||||
|
Loading…
x
Reference in New Issue
Block a user