mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Amazon bug+fetch error
This commit is contained in:
parent
09ef6ccd9e
commit
0b0619916a
@ -121,6 +121,19 @@ def report(verbose):
|
|||||||
class AmazonError(Exception):
|
class AmazonError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
class ThreadwithResults(Thread):
|
||||||
|
def __init__(self, func, *args, **kargs):
|
||||||
|
self.func = func
|
||||||
|
self.args = args
|
||||||
|
self.kargs = kargs
|
||||||
|
self.result = None
|
||||||
|
Thread.__init__(self)
|
||||||
|
|
||||||
|
def get_result(self):
|
||||||
|
return self.result
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
self.result = self.func(*self.args, **self.kargs)
|
||||||
|
|
||||||
class Query(object):
|
class Query(object):
|
||||||
|
|
||||||
|
@ -299,8 +299,8 @@ def search(title=None, author=None, publisher=None, isbn=None, isbndb_key=None,
|
|||||||
with MetadataSources(fetchers) as manager:
|
with MetadataSources(fetchers) as manager:
|
||||||
manager(title, author, publisher, isbn, verbose)
|
manager(title, author, publisher, isbn, verbose)
|
||||||
manager.join()
|
manager.join()
|
||||||
|
|
||||||
results = list(fetchers[0].results) if fetchers else []
|
results = list(fetchers[0].results) if fetchers[0].results else []
|
||||||
for fetcher in fetchers[1:]:
|
for fetcher in fetchers[1:]:
|
||||||
merge_results(results, fetcher.results)
|
merge_results(results, fetcher.results)
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ class ISBNDB(MetadataSource):
|
|||||||
|
|
||||||
def fetch(self):
|
def fetch(self):
|
||||||
if not self.site_customization:
|
if not self.site_customization:
|
||||||
return
|
return None
|
||||||
try:
|
try:
|
||||||
self.results = search(self.title, self.book_author, self.publisher, self.isbn,
|
self.results = search(self.title, self.book_author, self.publisher, self.isbn,
|
||||||
max_results=10, verbose=self.verbose, key=self.site_customization)
|
max_results=10, verbose=self.verbose, key=self.site_customization)
|
||||||
@ -231,6 +231,7 @@ def search(title=None, author=None, publisher=None, isbn=None,
|
|||||||
#List of entry
|
#List of entry
|
||||||
ans = ResultList()
|
ans = ResultList()
|
||||||
ans.populate(entries, verbose)
|
ans.populate(entries, verbose)
|
||||||
|
ans = [x for x in ans if x is not None]
|
||||||
return list(dict((book.isbn, book) for book in ans).values())
|
return list(dict((book.isbn, book) for book in ans).values())
|
||||||
|
|
||||||
def option_parser():
|
def option_parser():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user