From f090abb46b3bd76e623537671179982d96e31fea Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 27 Feb 2012 10:39:58 +0530 Subject: [PATCH] When setting metadata in EPUB ensure that the tag has its name attribute first. Needed for the Nook. --- src/calibre/ebooks/metadata/opf2.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/calibre/ebooks/metadata/opf2.py b/src/calibre/ebooks/metadata/opf2.py index 814c3d1a52..91b6b571ec 100644 --- a/src/calibre/ebooks/metadata/opf2.py +++ b/src/calibre/ebooks/metadata/opf2.py @@ -1081,6 +1081,15 @@ class OPF(object): # {{{ return elem def render(self, encoding='utf-8'): + for meta in self.raster_cover_path(self.metadata): + # Ensure that the name attribute occurs before the content + # attribute. Needed for Nooks. + a = meta.attrib + c = a.get('content', None) + if c is not None: + del a['content'] + a['content'] = c + self.write_user_metadata() raw = etree.tostring(self.root, encoding=encoding, pretty_print=True) if not raw.lstrip().startswith('