X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/295a1350b069ee750d2f7430e779e5ac6f23a673..ac9ba215113d29655e142f23ab398c5c2765df1e:/src/librarian/builders/html.py diff --git a/src/librarian/builders/html.py b/src/librarian/builders/html.py index 18a5b36..0499d43 100644 --- a/src/librarian/builders/html.py +++ b/src/librarian/builders/html.py @@ -1,10 +1,7 @@ -# coding: utf-8 -from __future__ import unicode_literals - -try: - from urllib.request import urlopen -except ImportError: - from urllib2 import urlopen +# This file is part of Librarian, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Wolne Lektury. See NOTICE for more information. +# +from urllib.request import urlopen from lxml import etree from librarian.html import add_anchors, add_table_of_contents, add_table_of_themes from librarian import OutputFile @@ -51,7 +48,8 @@ class HtmlBuilder: return self.current_cursors[-1] def enter_fragment(self, fragment): - self.current_cursors.append(self.cursors[fragment]) + cursor = self.cursors.get(fragment, self.cursor) + self.current_cursors.append(cursor) def exit_fragment(self): self.current_cursors.pop() @@ -100,6 +98,9 @@ class HtmlBuilder: ) self.exit_fragment() + if len(self.header): + self.tree.insert(0, self.header) + if self.with_anchors: add_anchors(self.tree) if self.with_nota_red and len(self.nota_red): @@ -109,9 +110,6 @@ class HtmlBuilder: if self.with_toc: add_table_of_contents(self.tree) - if len(self.header): - self.tree.insert(0, self.header) - if self.footnote_counter: fnheader = etree.Element("h3") fnheader.text = _("Footnotes")