From 474af52890f411c100e1e37a0ce27dbf071656c1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 19 May 2013 11:00:23 +0530 Subject: [PATCH] EPUB Input: Handle EPUB files that have no section in their OPF. See #1181546 --- src/calibre/ebooks/metadata/opf2.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/metadata/opf2.py b/src/calibre/ebooks/metadata/opf2.py index f38a18989c..395fe0c484 100644 --- a/src/calibre/ebooks/metadata/opf2.py +++ b/src/calibre/ebooks/metadata/opf2.py @@ -560,7 +560,9 @@ class OPF(object): # {{{ self.package_version = 0 self.metadata = self.metadata_path(self.root) if not self.metadata: - raise ValueError('Malformed OPF file: No element') + self.metadata = [self.root.makeelement('{http://www.idpf.org/2007/opf}metadata')] + self.root.insert(0, self.metadata[0]) + self.metadata[0].tail = '\n' self.metadata = self.metadata[0] if unquote_urls: self.unquote_urls()