82f649767de3cec8c3fee89c33d7bd839001eee0
[librarian.git] / src / librarian / elements / footnotes / __init__.py
1 from ..base import WLElement
2
3
4 class Footnote(WLElement):
5     def txt_build(self, builder):
6         pass
7
8     def html_build(self, builder):
9         builder.footnote_counter += 1
10         fn_no = builder.footnote_counter
11         footnote_id = 'footnote-idm{}'.format(self.attrib['_compat_ordered_id'])
12         anchor_id = 'anchor-idm{}'.format(self.attrib['_compat_ordered_id'])
13
14         builder.start_element('a', {"href": '#{}'.format(footnote_id), "class": "annotation"})
15         builder.push_text('[{}]'.format(fn_no))
16         builder.end_element()
17         
18         builder.enter_fragment('footnotes')
19         builder.start_element('div', {'class': 'fn-{}'.format(self.tag)})
20         builder.push_text('\n') # Compat
21         builder.start_element('a', {'name': footnote_id})
22         builder.end_element()
23         builder.start_element('a', {
24             'href': '#{}'.format(anchor_id), 'class': 'annotation'
25         })
26         builder.push_text('[{}]'.format(fn_no))
27         builder.end_element()
28
29         builder.start_element('p')
30         super(Footnote, self).html_build(builder)
31
32         builder.push_text(' [{}]'.format(self.qualifier))
33         builder.end_element()
34         builder.end_element()
35         builder.exit_fragment()
36
37
38 class PA(Footnote):
39     """Przypis autorski."""
40     @property
41     def qualifier(self):
42         _ = self.gettext
43         return _("author's footnote")
44
45
46 class PT(Footnote):
47     """Przypis tłumacza."""
48     @property
49     def qualifier(self):
50         _ = self.gettext
51         return _("translator's footnote")
52
53
54 class PR(Footnote):
55     """Przypis redakcyjny."""
56     @property
57     def qualifier(self):
58         _ = self.gettext
59         return _("editor's footnote")
60
61
62 class PE(Footnote):
63     """Przypis redakcji źródła."""
64     @property
65     def qualifier(self):
66         _ = self.gettext
67         return _("source editor's footnote")