X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/88f39c4f90a67164b2c3da7c7a41df420f3b17ab..011b98a4661b754a0789ae78e145437b5b86e5fe:/src/librarian/elements/tools/__init__.py diff --git a/src/librarian/elements/tools/__init__.py b/src/librarian/elements/tools/__init__.py index 99f81d9..c4820b1 100644 --- a/src/librarian/elements/tools/__init__.py +++ b/src/librarian/elements/tools/__init__.py @@ -5,11 +5,13 @@ from ..base import WLElement class Numeracja(WLElement): - pass + NUMBERING = True + def assign_id(self, builder): + builder.counters['_visible'] = int(self.get('start', 1)) class Rownolegle(WLElement): - def build_epub(self, builder): + def epub_build(self, builder): for i, block in enumerate(self): attr = {"class": "rownolegly-blok"} if not i: @@ -17,16 +19,49 @@ class Rownolegle(WLElement): if i == len(self) - 1: attr['class'] += ' last' builder.start_element('div', attr) - self.build_epub(block, builder) + block.epub_build(builder) builder.end_element() + def html_build(self, builder): + for i, block in enumerate(self): + attr = {"class": "paralell-block"} + if not i: + attr['class'] += ' paralell-block-first' + if i == len(self) - 1: + attr['class'] += ' paralell-block-last' + builder.start_element('div', attr) + block.html_build(builder) + builder.end_element() + + class Tab(WLElement): EPUB_TAG = HTML_TAG = 'span' + def html_build(self, builder): + szer = self.get('szer', '1') + if szer == '*': + reopen = [] + from lxml import etree + p = builder.cursor + while 'verse' not in p.attrib.get('class', ''): + reopen.append(p) + p = p.getparent() + builder.end_element() + builder.start_element('span', {'class': 'verse-stretched-space'}) + builder.end_element() + while reopen: + p = reopen.pop() + builder.start_element(p.tag, p.attrib) + else: + super().html_build(builder) + def get_html_attr(self, builder): + szer = self.get('szer', '1').strip() + if szer.endswith('em'): + szer = szer[:-2] try: - szer = int(self.get('szer', 1)) + szer = int(szer) except: szer = 1 return { @@ -35,4 +70,3 @@ class Tab(WLElement): } get_epub_attr = get_html_attr -