mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
Metadata download: Make cover check multithreaded
This commit is contained in:
parent
bb5ab06f3b
commit
985e65d386
@ -287,15 +287,19 @@ class HeadRequest(urllib2.Request):
|
|||||||
def get_method(self):
|
def get_method(self):
|
||||||
return "HEAD"
|
return "HEAD"
|
||||||
|
|
||||||
def check_for_covers(items):
|
def do_cover_check(item):
|
||||||
opener = browser()
|
opener = browser()
|
||||||
for item in items:
|
item.has_cover = False
|
||||||
item.has_cover = False
|
try:
|
||||||
try:
|
opener.open(HeadRequest(OPENLIBRARY%item.isbn), timeout=5)
|
||||||
opener.open(HeadRequest(OPENLIBRARY%item.isbn), timeout=5)
|
item.has_cover = True
|
||||||
item.has_cover = True
|
except:
|
||||||
except:
|
pass # Cover not found
|
||||||
pass # Cover not found
|
|
||||||
|
def check_for_covers(items):
|
||||||
|
threads = [Thread(target=do_cover_check, args=(item,)) for item in items]
|
||||||
|
for t in threads: t.start()
|
||||||
|
for t in threads: t.join()
|
||||||
|
|
||||||
def search(title=None, author=None, publisher=None, isbn=None, isbndb_key=None,
|
def search(title=None, author=None, publisher=None, isbn=None, isbndb_key=None,
|
||||||
verbose=0):
|
verbose=0):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user