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("<strofa>a/\\nb<x>x/\\ny</x>c/ \\nd</strofa>")
+ >>> s = etree.fromstring("<strofa>a <b>c</b> <b>c</b>/\\nb<x>x/\\ny</x>c/ \\nd</strofa>")
>>> Stanza(s).versify()
>>> print etree.tostring(s)
- <strofa><wers_normalny>a</wers_normalny><wers_normalny>b<x>x/
+ <strofa><wers_normalny>a <b>c</b> <b>c</b></wers_normalny><wers_normalny>b<x>x/
y</x>c</wers_normalny><wers_normalny>d</wers_normalny></strofa>
"""
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"):
cover = WLCover
cover_file = StringIO()
- bound_cover = cover(document.book_info)
- bound_cover.save(cover_file)
- cover_name = 'cover.%s' % bound_cover.ext()
- zip.writestr(os.path.join('OPS', cover_name), cover_file.getvalue())
+ c = cover(document.book_info)
+ c.save(cover_file)
+ c_name = 'cover.%s' % c.ext()
+ zip.writestr(os.path.join('OPS', c_name), cover_file.getvalue())
del cover_file
cover_tree = etree.parse(get_resource('epub/cover.html'))
zip.writestr('OPS/annotations.html', etree.tostring(
html_tree, method="html", pretty_print=True))
+ toc.add("Weprzyj Wolne Lektury", "support.html")
+ manifest.append(etree.fromstring(
+ '<item id="support" href="support.html" media-type="application/xhtml+xml" />'))
+ spine.append(etree.fromstring(
+ '<itemref idref="support" />'))
+ html_string = open(get_resource('epub/support.html')).read()
+ chars.update(used_chars(etree.fromstring(html_string)))
+ zip.writestr('OPS/support.html', html_string)
+
toc.add("Strona redakcyjna", "last.html")
manifest.append(etree.fromstring(
'<item id="last" href="last.html" media-type="application/xhtml+xml" />'))