From a1c7d0615c8c18c1920873d01c151777bbf30f88 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 14 Dec 2010 20:33:00 -0700 Subject: [PATCH] Handle case of no metadata fetchers or fetcher returning None result --- src/calibre/ebooks/metadata/fetch.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/calibre/ebooks/metadata/fetch.py b/src/calibre/ebooks/metadata/fetch.py index b797a477d6..390f288d8e 100644 --- a/src/calibre/ebooks/metadata/fetch.py +++ b/src/calibre/ebooks/metadata/fetch.py @@ -145,7 +145,7 @@ class MetadataSource(Plugin): # {{{ setattr(w, '_'+x, cb) cb.setChecked(c.get(x, True)) w._layout.addWidget(cb) - + if self.has_html_comments: cb = QCheckBox(_('Convert comments downloaded from %s to plain text')%(self.name)) setattr(w, '_textcomments', cb) @@ -276,12 +276,13 @@ def result_index(source, result): return -1 def merge_results(one, two): - for x in two: - idx = result_index(one, x) - if idx < 0: - one.append(x) - else: - one[idx].smart_update(x) + if two is not None and one is not None: + for x in two: + idx = result_index(one, x) + if idx < 0: + one.append(x) + else: + one[idx].smart_update(x) class MetadataSources(object): @@ -337,7 +338,7 @@ def search(title=None, author=None, publisher=None, isbn=None, isbndb_key=None, manager(title, author, publisher, isbn, verbose) manager.join() - results = list(fetchers[0].results) + results = list(fetchers[0].results) if fetchers else [] for fetcher in fetchers[1:]: merge_results(results, fetcher.results)