self.header = etree.Element('h1')
self.footnotes = etree.Element('div', id='footnotes')
- self.counters = defaultdict(lambda: 1)
self.nota_red = etree.Element('div', id='nota_red')
def build(self, document, element=None, **kwargs):
self.document = document
-
- self.assign_ids(self.document.tree)
+ self.document.assign_ids()
self.prepare_images()
if element is None:
self.postprocess(document)
return self.output()
- def assign_ids(self, tree):
- # Assign IDs depth-first, to account for any <numeracja> inside.
- for _e, elem in etree.iterwalk(tree, events=('end',)):
- if getattr(elem, 'NUMBERING', None):
- elem.assign_id(self)
-
def prepare_images(self):
# Temporarily use the legacy method, before transitioning to external generators.
if self.gallery_path is None:
if self.with_toc:
add_table_of_contents(self.tree)
- if self.counters['fn'] > 1:
+ if self.document.counters['fn'] > 1:
fnheader = etree.Element("h3")
fnheader.text = _("Footnotes")
self.footnotes.insert(0, fnheader)
def build(self, document, element=None, **kwargs):
if element is None:
element = document.tree.find('//abstrakt')
+ if element is None:
+ return OutputFile.from_bytes(b'')
element.attrib['_force'] = '1'
return super().build(document, element, **kwargs)