From 5074b4feda0f4d24039b56a5478fc21bd7b9ef49 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 21 Jul 2009 12:12:44 -0600 Subject: [PATCH] Fix regression where not specifying the --cover option with ebook-convert would cause the existing cover from the source file to get stripped --- src/calibre/ebooks/oeb/transforms/guide.py | 1 - src/calibre/ebooks/oeb/transforms/metadata.py | 11 ++++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/calibre/ebooks/oeb/transforms/guide.py b/src/calibre/ebooks/oeb/transforms/guide.py index 0764dd650a..3941904fdc 100644 --- a/src/calibre/ebooks/oeb/transforms/guide.py +++ b/src/calibre/ebooks/oeb/transforms/guide.py @@ -38,4 +38,3 @@ class Clean(object): 'title-page', 'copyright-page', 'start'): self.oeb.guide.remove(x) - diff --git a/src/calibre/ebooks/oeb/transforms/metadata.py b/src/calibre/ebooks/oeb/transforms/metadata.py index 0969509626..837769bc0d 100644 --- a/src/calibre/ebooks/oeb/transforms/metadata.py +++ b/src/calibre/ebooks/oeb/transforms/metadata.py @@ -94,12 +94,17 @@ class MergeMetadata(object): cdata = open(mi.cover, 'rb').read() elif mi.cover_data and mi.cover_data[-1]: cdata = mi.cover_data[1] - id = None - old_cover = self.oeb.guide.remove('cover') - self.oeb.guide.remove('titlepage') + id = old_cover = None + if 'cover' in self.oeb.guide: + old_cover = self.oeb.guide['cover'] + if cdata: + self.oeb.guide.remove('cover') + self.oeb.guide.remove('titlepage') if old_cover is not None: if old_cover.href in self.oeb.manifest.hrefs: item = self.oeb.manifest.hrefs[old_cover.href] + if not cdata: + return item.id self.oeb.manifest.remove(item) if cdata: id, href = self.oeb.manifest.generate('cover', 'cover.jpg')