diff --git a/src/calibre/ebooks/metadata/lit.py b/src/calibre/ebooks/metadata/lit.py index c38450c64c..2129af76dd 100644 --- a/src/calibre/ebooks/metadata/lit.py +++ b/src/calibre/ebooks/metadata/lit.py @@ -19,15 +19,23 @@ def get_metadata(stream): for item in opf.iterguide(): if 'cover' not in item.get('type', '').lower(): continue + ctype = item.get('type') href = item.get('href', '') candidates = [href, href.replace('&', '%26')] for item in litfile.manifest.values(): if item.path in candidates: - covers.append(item.internal) + try: + covers.append((litfile.get_file('/data/'+item.internal), + ctype)) + except: + pass break - covers = [litfile.get_file('/data/' + i) for i in covers] - covers.sort(cmp=lambda x, y:cmp(len(x), len(y))) - mi.cover_data = ('jpg', covers[-1]) + covers.sort(cmp=lambda x, y:cmp(len(x[0]), len(y[0])), reverse=True) + idx = 0 + if len(covers) > 1: + if covers[1][1] == covers[1][0]+'-standard': + idx = 1 + mi.cover_data = ('jpg', covers[idx][0]) return mi def main(args=sys.argv): diff --git a/src/calibre/gui2/dialogs/config.py b/src/calibre/gui2/dialogs/config.py index 5353f24544..9958ce53fa 100644 --- a/src/calibre/gui2/dialogs/config.py +++ b/src/calibre/gui2/dialogs/config.py @@ -196,7 +196,7 @@ class ConfigDialog(QDialog, Ui_Dialog): self.language.addItem(language_codes[lang], QVariant(lang)) else: lang = 'en' - self.language.addItem('English', 'en') + self.language.addItem('English', QVariant('en')) items = [(l, language_codes[l]) for l in translations.keys() \ if l != lang] if lang != 'en':