X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/0604bdd5f693da9f1c78f9d9fa2276f0c7b6c17b..fe763827605d48b2ad27d313cbcd84b588066070:/src/librarian/elements/base.py?ds=sidebyside diff --git a/src/librarian/elements/base.py b/src/librarian/elements/base.py index fb5e3b1..b9df185 100644 --- a/src/librarian/elements/base.py +++ b/src/librarian/elements/base.py @@ -3,6 +3,7 @@ import re from lxml import etree from librarian import dcparser, RDFNS +from librarian.util import get_translation class WLElement(etree.ElementBase): @@ -14,7 +15,6 @@ class WLElement(etree.ElementBase): HTML_TAG = None HTML_ATTR = {} HTML_CLASS = None - HTML_SECTION = False CAN_HAVE_TEXT = True STRIP = False @@ -37,7 +37,7 @@ class WLElement(etree.ElementBase): else: self._meta_object = None return self._meta_object - + @property def meta(self): if self.meta_object is not None: @@ -47,7 +47,11 @@ class WLElement(etree.ElementBase): return self.getparent().meta else: return self.document.base_meta - + + @property + def gettext(self): + return get_translation(self.meta.language).gettext + def normalize_text(self, text): text = text or '' for e, s in self.text_substitutions: @@ -99,35 +103,17 @@ class WLElement(etree.ElementBase): # always copy the id attribute (?) if self.attrib.get('id'): attr['id'] = self.attrib['id'] + elif '_compat_section_id' in self.attrib: + attr['id'] = self.attrib['_compat_section_id'] return attr - - def html_build(self, builder): - if self.HTML_SECTION: - builder.start_element( - 'a', {"name": "f18", "class": "target"} - ) - builder.push_text(" ") - builder.end_element() - - builder.start_element( - "a", {"href": "#f18", "class": "anchor"} - ) - builder.push_text("18") - builder.end_element() - + def html_build(self, builder): if self.HTML_TAG: builder.start_element( self.HTML_TAG, self.get_html_attr(builder), ) - if self.HTML_SECTION: - builder.start_element( - "a", {"name": "sec34"} - ) - builder.end_element() - self._html_build_inner(builder) if self.HTML_TAG: builder.end_element()