From aa24da048ecff41c001e4c6732c99119d306bc47 Mon Sep 17 00:00:00 2001 From: Oliver Graf Date: Fri, 27 Jul 2012 19:43:28 +0200 Subject: [PATCH] Fix for refactoring, don't read cover if opf.nocover prop is set. --- src/calibre/ebooks/metadata/odt.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/calibre/ebooks/metadata/odt.py b/src/calibre/ebooks/metadata/odt.py index 35cdb103a7..f3e3c02c55 100644 --- a/src/calibre/ebooks/metadata/odt.py +++ b/src/calibre/ebooks/metadata/odt.py @@ -201,15 +201,18 @@ def get_metadata(stream, extract_cover=True): if cl: mi.languages = [cl] opfnocover = data.get('opf.nocover', 'false') == 'true' + if not opfnocover: + try: + read_cover(stream, zin, mi, opfmeta, extract_cover) + except: + pass # Do not let an error reading the cover prevent reading other data + + return mi + +def read_cover(stream, zin, mi, opfmeta, extract_cover): # search for an draw:image in a draw:frame with the name 'opf.cover' # if opf.metadata prop is false, just use the first image that # has a proper size (borrowed from docx) - try: - read_cover(stream, zin, mi, opfmeta, opfnocover, extract_cover) - except: - pass # Do not let an error reading the cover prevent reading other data - -def read_cover(stream, zin, mi, opfmeta, opfnocover, extract_cover): otext = odLoad(stream) cover_href = None cover_data = None @@ -239,7 +242,7 @@ def read_cover(stream, zin, mi, opfmeta, opfnocover, extract_cover): if not opfmeta: break - if not opfnocover and cover_href is not None: + if cover_href is not None: mi.cover = cover_href if extract_cover: if not cover_data: @@ -252,5 +255,3 @@ def read_cover(stream, zin, mi, opfmeta, opfnocover, extract_cover): cover_data = (fmt, raw) mi.cover_data = cover_data - return mi -