X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/b13f09caed970090efa8a6c7205d71cc82ff6c97..923ab131bfa43b0ceb8010669133c09e963b8563:/src/librarian/html.py?ds=inline diff --git a/src/librarian/html.py b/src/librarian/html.py index 2919498..73ea15d 100644 --- a/src/librarian/html.py +++ b/src/librarian/html.py @@ -9,7 +9,7 @@ import urllib.parse import urllib.request from lxml import etree -from librarian import XHTMLNS, ParseError, OutputFile +from librarian import XHTMLNS, DCNS, ParseError, OutputFile from librarian import functions from PIL import Image @@ -112,9 +112,17 @@ def transform(wldoc, stylesheet='legacy', options=None, flags=None, css=None, ga for flag in flags: document.edoc.getroot().set(flag, 'yes') + ltag = document.edoc.find('//' + DCNS('language')) + if ltag is not None: + lang = functions.lang_code_3to2(ltag.text) + else: + lang = 'pl' + document.edoc.getroot().set('lang', lang) + document.clean_ed_note() document.clean_ed_note('abstrakt') document.fix_pa_akap() + document.hebr_protect() if not options: options = {} @@ -311,7 +319,8 @@ def any_ancestor(element, test): def add_anchors(root): - counter = 1 + link_prefix = "f" + counter = {"f": 1} visible_counter = 1 for element in root.iterdescendants(): def f(e): @@ -329,18 +338,21 @@ def add_anchors(root): visible_counter = int(element.get('data-start')) except ValueError: visible_counter = 1 + if element.get("data-link"): + link_prefix = element.get("data-link") + counter[link_prefix] = 1 if any_ancestor(element, f): continue if element.tag == 'div' and 'verse' in element.get('class', ''): if visible_counter == 1 or visible_counter % 5 == 0: - add_anchor(element, "f%d" % counter, link_text=visible_counter) - counter += 1 + add_anchor(element, "%s%d" % (link_prefix, counter[link_prefix]), link_text=visible_counter) + counter[link_prefix] += 1 visible_counter += 1 elif 'paragraph' in element.get('class', ''): - add_anchor(element, "f%d" % counter, link_text=visible_counter) - counter += 1 + add_anchor(element, "%s%d" % (link_prefix, counter[link_prefix]), link_text=visible_counter) + counter[link_prefix] += 1 visible_counter += 1