letters
[librarian.git] / src / librarian / elements / __init__.py
1 # This file is part of Librarian, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
3 #
4 from lxml import etree
5 from . import (blocks, comments, drama, figures, footnotes, front, headers,
6                masters, paragraphs, poetry, ref, root, separators, styles, themes,
7                tools, base, bible, letter)
8
9
10 WL_ELEMENTS = {
11     'snippet': base.Snippet,
12     'meta': etree.ElementBase,
13     'coverClass': etree.ElementBase,
14     "developmentStage": etree.ElementBase,
15     "coverBarColor": etree.ElementBase,
16     "coverBoxPosition": etree.ElementBase, 
17     "coverLogoUrl": etree.ElementBase,
18     "contentWarning": etree.ElementBase,
19     "endnotes": etree.ElementBase,
20     "original": etree.ElementBase,
21
22     "utwor": root.Utwor,
23     "dramat_wierszowany_l": masters.Master,
24     "dramat_wierszowany_lp": masters.Master,
25     "dramat_wspolczesny": masters.Master,
26     "liryka_l": masters.Master,
27     "liryka_lp": masters.Master,
28     "opowiadanie": masters.Master,
29     "powiesc": masters.Master,
30
31     "blok": tools.WLElement,
32     
33     "autor_utworu": front.AutorUtworu,
34     "dzielo_nadrzedne": front.DzieloNadrzedne,
35     "nazwa_utworu": front.NazwaUtworu,
36     "podtytul": front.Podtytul,
37
38     "lista_osob": drama.ListaOsob,
39     "lista_osoba": drama.ListaOsoba,
40     "naglowek_osoba": drama.NaglowekOsoba,
41     "osoba": drama.Osoba,
42
43     "dlugi_cytat": blocks.DlugiCytat,
44     "poezja_cyt": blocks.PoezjaCyt,
45     "dlugi_cyt": blocks.DlugiCytat,  ### ???
46     "ramka": blocks.Ramka,
47     
48     "slowo_obce": styles.SlowoObce,
49     "tytul_dziela": styles.TytulDziela,
50     "wyroznienie": styles.Wyroznienie,
51
52     "akap": paragraphs.Akap,
53     "akap_cd": paragraphs.Akap,
54     "akap_dialog": paragraphs.Akap,
55
56     "motto_podpis": front.MottoPodpis,
57
58     "strofa": poetry.Strofa,
59
60     "motto": front.Motto,
61
62     "didaskalia": drama.Didaskalia,
63     "kwestia": drama.Kwestia,
64     "didask_tekst": drama.DidaskTekst,
65
66     "dedykacja": blocks.Dedykacja,
67     "miejsce_czas": drama.MiejsceCzas,
68
69     "uwaga": comments.Uwaga,
70
71     "wers": poetry.Wers,
72     "wers_wciety": poetry.WersWciety,
73     "wers_cd": poetry.WersCd,
74     "wers_akap": poetry.WersAkap,
75     "zastepnik_wersu": poetry.ZastepnikWersu,
76     "wers_do_prawej": poetry.WersDoPrawej,
77     "wers_srodek": poetry.WersSrodek,
78     
79     "pa": footnotes.PA,
80     "pe": footnotes.PE,
81     "pr": footnotes.PR,
82     "pt": footnotes.PT,
83
84     "ref": ref.Ref,
85
86     "begin": themes.Begin,
87     "end": themes.End,
88     "motyw": themes.Motyw,
89
90     "nota": blocks.Nota,
91
92     "nota_red": comments.NotaRed,
93     "extra": comments.Uwaga,
94     "abstrakt": comments.Abstrakt,
95
96     "naglowek_czesc": headers.NaglowekCzesc,
97     "naglowek_akt": headers.NaglowekCzesc,
98     "naglowek_scena": headers.NaglowekScena,
99     "naglowek_rozdzial": headers.NaglowekRozdzial,
100     "naglowek_podrozdzial": headers.NaglowekPodrozdzial,
101     "srodtytul": headers.NaglowekCzesc,
102     "podtytul_czesc": headers.PodtytulCzesc,
103     "podtytul_akt": headers.PodtytulCzesc,
104     "podtytul_scena": headers.PodtytulRozdzial,
105     "podtytul_rozdzial": headers.PodtytulRozdzial,
106     "podtytul_podrozdzial": headers.PodtytulPodrozdzial,
107
108     "naglowek_listy": drama.NaglowekListy,
109
110     "sekcja_asterysk": separators.SekcjaAsterysk,
111     "sekcja_swiatlo": separators.SekcjaSwiatlo,
112     "separator_linia": separators.SeparatorLinia,
113
114     "wieksze_odstepy": styles.WiekszeOdstepy,
115     "mat": styles.Mat,
116     "www": styles.WWW,
117     "indeks_dolny": styles.IndeksDolny,
118
119     "tabela": figures.Tabela,
120     "tabelka": figures.Tabela,
121     "wiersz": figures.Wiersz,
122     "kol": figures.Kol,
123
124     "animacja": figures.Animacja,
125     "ilustr": figures.Ilustr,
126
127     "numeracja": tools.Numeracja,
128     "rownolegle": tools.Rownolegle,
129     "tab": tools.Tab,
130
131     # Section
132     "wywiad_pyt": blocks.WywiadPyt,
133     "wywiad_odp": blocks.WywiadOdp,
134
135     "werset": bible.Werset,
136
137     "list": letter.List,
138     "adresat": letter.Adresat,
139     "miejsce_data": letter.MiejsceData,
140     "naglowek_listu": letter.NaglowekListu,
141     "pozdrowienie": letter.Pozdrowienie,
142     "podpis": letter.Podpis,
143     
144     # Inline MathML, should really be namespaced.
145     "mrow": etree.ElementBase,
146     "mi": etree.ElementBase,
147     "mo": etree.ElementBase,
148     "msup": etree.ElementBase,
149     "mn": etree.ElementBase,
150     "mfrac": etree.ElementBase,
151     "mfenced": etree.ElementBase,
152 }