From 604857e26e3add54be98545901b289b65cd5de9e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 13 Feb 2013 10:47:44 +0530 Subject: [PATCH] ... --- src/calibre/ebooks/oeb/polish/container.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/calibre/ebooks/oeb/polish/container.py b/src/calibre/ebooks/oeb/polish/container.py index d59071a727..9b84ff82e1 100644 --- a/src/calibre/ebooks/oeb/polish/container.py +++ b/src/calibre/ebooks/oeb/polish/container.py @@ -363,7 +363,22 @@ class Container(object): self.mime_map[name] = media_type return item + def format_opf(self): + mdata = self.opf_xpath('//opf:metadata')[0] + mdata.text = '\n ' + remove = set() + for child in mdata: + child.tail = '\n ' + if (child.get('name', '').startswith('calibre:') and + child.get('content', '').strip() in {'{}', ''}): + remove.add(child) + for child in remove: mdata.remove(child) + if len(mdata) > 0: + mdata[-1].tail = '\n ' + def commit_item(self, name): + if name == self.opf_name: + self.format_opf() self.dirtied.remove(name) data = self.parsed_cache.pop(name) data = serialize(data, self.mime_map[name])