From 30296b34268d9bd7a37fd48bccd1c9b55a159754 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 17 Oct 2010 09:24:45 -0600 Subject: [PATCH] MOBI Output: Fix regression that broke conversion of elements in the input document when the element was followed by non-whitespace text. Fixes #7083 (Problem to convert epub->mobi) --- src/calibre/ebooks/oeb/base.py | 4 ++-- src/calibre/ebooks/oeb/transforms/rasterize.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/oeb/base.py b/src/calibre/ebooks/oeb/base.py index 2d2945c26a..cf80e4abe2 100644 --- a/src/calibre/ebooks/oeb/base.py +++ b/src/calibre/ebooks/oeb/base.py @@ -282,9 +282,9 @@ def XPath(expr): def xpath(elem, expr): return elem.xpath(expr, namespaces=XPNSMAP) -def xml2str(root, pretty_print=False, strip_comments=False): +def xml2str(root, pretty_print=False, strip_comments=False, with_tail=True): ans = etree.tostring(root, encoding='utf-8', xml_declaration=True, - pretty_print=pretty_print) + pretty_print=pretty_print, with_tail=with_tail) if strip_comments: ans = re.compile(r'', re.DOTALL).sub('', ans) diff --git a/src/calibre/ebooks/oeb/transforms/rasterize.py b/src/calibre/ebooks/oeb/transforms/rasterize.py index 1026b625bf..b09037498a 100644 --- a/src/calibre/ebooks/oeb/transforms/rasterize.py +++ b/src/calibre/ebooks/oeb/transforms/rasterize.py @@ -55,7 +55,7 @@ class SVGRasterizer(object): self.rasterize_cover() def rasterize_svg(self, elem, width=0, height=0, format='PNG'): - data = QByteArray(xml2str(elem)) + data = QByteArray(xml2str(elem, with_tail=False)) svg = QSvgRenderer(data) size = svg.defaultSize() view_box = elem.get('viewBox', elem.get('viewbox', None))