From: Radek Czajka Date: Tue, 16 Jul 2013 12:25:08 +0000 (+0200) Subject: Fixes #2631: losing whitespace in epub/mobi stanzas. X-Git-Tag: 1.7~134 X-Git-Url: https://git.mdrn.pl/librarian.git/commitdiff_plain/c2d3ff4643de9a2bfbb462d5a82982896e4454bc?ds=sidebyside Fixes #2631: losing whitespace in epub/mobi stanzas. --- diff --git a/librarian/epub.py b/librarian/epub.py index 10922d4..6ab4928 100644 --- a/librarian/epub.py +++ b/librarian/epub.py @@ -117,10 +117,10 @@ class Stanza(object): Slashes may only occur directly in the stanza. Any slashes in subelements will be ignored, and the subelements will be put inside verse elements. - >>> s = etree.fromstring("a/\\nbx/\\nyc/ \\nd") + >>> s = etree.fromstring("a c c/\\nbx/\\nyc/ \\nd") >>> Stanza(s).versify() >>> print etree.tostring(s) - abx/ + a c cbx/ ycd """ @@ -149,16 +149,16 @@ class Stanza(object): return self.open_verse def push_text(self, text): - if not text or not text.strip(): + if not text: return for i, verse_text in enumerate(re.split(r"/\s*\n", text)): if i: self.open_normal_verse() verse = self.get_open_verse() if len(verse): - verse[-1].tail = (verse[-1].tail or "") + verse_text.strip() + verse[-1].tail = (verse[-1].tail or "") + verse_text else: - verse.text = (verse.text or "") + verse_text.strip() + verse.text = (verse.text or "") + verse_text def push_elem(self, elem): if elem.tag.startswith("wers"):