Skip to content
Snippets Groups Projects
Verified Commit f74eb42c authored by Nils Beyer's avatar Nils Beyer
Browse files

Remove `RenderType.extra`, fix ToDos missing.

parent bf9229e3
No related branches found
No related tags found
1 merge request!21TOPs automatisiert als Anhang exportieren
...@@ -38,7 +38,6 @@ class RenderType(Enum): ...@@ -38,7 +38,6 @@ class RenderType(Enum):
plaintext = 2 plaintext = 2
html = 3 html = 3
dokuwiki = 4 dokuwiki = 4
extra = 5
def _not_implemented(self, render_type): def _not_implemented(self, render_type):
...@@ -52,7 +51,7 @@ class Element: ...@@ -52,7 +51,7 @@ class Element:
Generic (abstract) base element. Should never really exist. Generic (abstract) base element. Should never really exist.
Template for what an element class should contain. Template for what an element class should contain.
""" """
def render(self, render_type, show_private, level=None, protocol=None, decision_render=False): def render(self, render_type, show_private, level=None, protocol=None, decision_render=False, top_render=False):
""" """
Renders the element to TeX. Renders the element to TeX.
Returns: Returns:
...@@ -122,7 +121,7 @@ class Content(Element): ...@@ -122,7 +121,7 @@ class Content(Element):
self.children = children self.children = children
self.linenumber = linenumber self.linenumber = linenumber
def render(self, render_type, show_private, level=None, protocol=None, decision_render=False): def render(self, render_type, show_private, level=None, protocol=None, decision_render=False, top_render=False):
return "".join(map(lambda e: e.render( return "".join(map(lambda e: e.render(
render_type, show_private, level=level, protocol=protocol), render_type, show_private, level=level, protocol=protocol),
self.children)) self.children))
...@@ -187,8 +186,8 @@ class Text: ...@@ -187,8 +186,8 @@ class Text:
self.linenumber = linenumber self.linenumber = linenumber
self.fork = fork self.fork = fork
def render(self, render_type, show_private, level=None, protocol=None): def render(self, render_type, show_private, level=None, protocol=None, decision_render=False, top_render=False):
if render_type == RenderType.latex or render_type == RenderType.extra: if render_type == RenderType.latex:
return escape_tex(self.text) return escape_tex(self.text)
elif render_type == RenderType.wikitext: elif render_type == RenderType.wikitext:
return self.text return self.text
...@@ -225,8 +224,8 @@ class Tag: ...@@ -225,8 +224,8 @@ class Tag:
self.linenumber = linenumber self.linenumber = linenumber
self.fork = fork self.fork = fork
def render(self, render_type, show_private, level=None, protocol=None, decision_render=False): def render(self, render_type, show_private, level=None, protocol=None, decision_render=False, top_render=False):
if render_type == RenderType.latex: if render_type == RenderType.latex and not top_render:
if self.name == "url": if self.name == "url":
return r"\url{{{}}}".format(self.values[0]) return r"\url{{{}}}".format(self.values[0])
elif self.name == "todo": elif self.name == "todo":
...@@ -245,7 +244,7 @@ class Tag: ...@@ -245,7 +244,7 @@ class Tag:
return r"\textbf{{{}:}} {}".format( return r"\textbf{{{}:}} {}".format(
escape_tex(self.name.capitalize()), escape_tex(self.name.capitalize()),
escape_tex(";".join(self.values))) escape_tex(";".join(self.values)))
elif render_type == RenderType.extra: elif render_type == RenderType.latex and top_render:
if self.name == "url": if self.name == "url":
return r"\url{{{}}}".format(self.values[0]) return r"\url{{{}}}".format(self.values[0])
elif self.name == "todo": elif self.name == "todo":
...@@ -351,7 +350,7 @@ class Empty(Element): ...@@ -351,7 +350,7 @@ class Empty(Element):
def __init__(self, linenumber): def __init__(self, linenumber):
linenumber = linenumber linenumber = linenumber
def render(self, render_type, show_private, level=None, protocol=None, decision_render=False): def render(self, render_type, show_private, level=None, protocol=None, decision_render=False, top_render=False):
return "" return ""
def dump(self, level=None): def dump(self, level=None):
...@@ -373,8 +372,8 @@ class Remark(Element): ...@@ -373,8 +372,8 @@ class Remark(Element):
self.value = value self.value = value
self.linenumber = linenumber self.linenumber = linenumber
def render(self, render_type, show_private, level=None, protocol=None, decision_render=False): def render(self, render_type, show_private, level=None, protocol=None, decision_render=False, top_render=False):
if render_type == RenderType.latex or render_type == RenderType.extra: if render_type == RenderType.latex:
return r"\textbf{{{}}}: {}".format(self.name, self.value) return r"\textbf{{{}}}: {}".format(self.name, self.value)
elif render_type == RenderType.wikitext: elif render_type == RenderType.wikitext:
return "{}: {}".format(self.name, self.value) return "{}: {}".format(self.name, self.value)
...@@ -441,12 +440,12 @@ class Fork(Element): ...@@ -441,12 +440,12 @@ class Fork(Element):
stripped_name = name.replace(":", "").strip() stripped_name = name.replace(":", "").strip()
return stripped_name in config.PRIVATE_KEYWORDS return stripped_name in config.PRIVATE_KEYWORDS
def render(self, render_type, show_private, level=None, protocol=None, decision_render=False): def render(self, render_type, show_private, level=None, protocol=None, decision_render=False, top_render=False):
name_line = self.name if self.name is not None else "" name_line = self.name if self.name is not None else ""
if level == 0 and self.name == "Todos" and not show_private: if level == 0 and self.name == "Todos" and not show_private:
return "" return ""
if render_type == RenderType.latex or render_type == RenderType.extra: if render_type == RenderType.latex:
if render_type == RenderType.latex and self.is_extra and not decision_render: if self.is_extra and not top_render and not decision_render:
return r"\textit{[Dieser Tagesordnungspunkt wird in einem eigenem PDF exportiert.]}" return r"\textit{[Dieser Tagesordnungspunkt wird in einem eigenem PDF exportiert.]}"
begin_line = r"\begin{itemize}" begin_line = r"\begin{itemize}"
...@@ -456,14 +455,14 @@ class Fork(Element): ...@@ -456,14 +455,14 @@ class Fork(Element):
for child in self.children: for child in self.children:
part = child.render( part = child.render(
render_type, show_private, level=level + 1, render_type, show_private, level=level + 1,
protocol=protocol) protocol=protocol, decision_render=decision_render, top_render=top_render)
parts.append(part) parts.append(part)
if len(part.strip()) == 0: if len(part.strip()) == 0:
continue continue
if render_type == RenderType.latex: if not top_render:
if not part.startswith(r"\item"): if not part.startswith(r"\item"):
part = r"\item {}".format(part) part = r"\item {}".format(part)
elif render_type == RenderType.extra: else:
if not part.startswith(r"\item") and not part.startswith(r"\footnote") and not part.startswith( if not part.startswith(r"\item") and not part.startswith(r"\footnote") and not part.startswith(
r"\begin{tcolorbox}"): r"\begin{tcolorbox}"):
part = r"\item {}".format(part) part = r"\item {}".format(part)
...@@ -474,9 +473,9 @@ class Fork(Element): ...@@ -474,9 +473,9 @@ class Fork(Element):
if len(content_lines.strip()) == 0: if len(content_lines.strip()) == 0:
content_lines = "\\item Nichts\n" content_lines = "\\item Nichts\n"
if level == 0: if level == 0:
if render_type == RenderType.latex: if not top_render:
return "\n".join([begin_line, content_lines, end_line]) return "\n".join([begin_line, content_lines, end_line])
elif render_type == RenderType.extra: else:
return "\n".join(parts) return "\n".join(parts)
elif self.test_private(self.name): elif self.test_private(self.name):
if show_private: if show_private:
...@@ -489,7 +488,7 @@ class Fork(Element): ...@@ -489,7 +488,7 @@ class Fork(Element):
else: else:
return (r"\textit{[An dieser Stelle wurde intern " return (r"\textit{[An dieser Stelle wurde intern "
r"protokolliert.]}") r"protokolliert.]}")
elif render_type == RenderType.extra and level == 1: elif top_render and level == 1:
name_escape = escape_tex(name_line) name_escape = escape_tex(name_line)
return "\n".join([ return "\n".join([
f"\section{{{name_escape}}}", begin_line, f"\section{{{name_escape}}}", begin_line,
...@@ -510,7 +509,7 @@ class Fork(Element): ...@@ -510,7 +509,7 @@ class Fork(Element):
for child in self.children: for child in self.children:
part = child.render( part = child.render(
render_type, show_private, level=level + 1, render_type, show_private, level=level + 1,
protocol=protocol) protocol=protocol, decision_render=decision_render, top_render=top_render)
if len(part.strip()) == 0: if len(part.strip()) == 0:
continue continue
content_parts.append(part) content_parts.append(part)
...@@ -526,7 +525,7 @@ class Fork(Element): ...@@ -526,7 +525,7 @@ class Fork(Element):
for child in self.children: for child in self.children:
part = child.render( part = child.render(
render_type, show_private, level=level + 1, render_type, show_private, level=level + 1,
protocol=protocol) protocol=protocol, decision_render=decision_render, top_render=top_render)
if len(part.strip()) == 0: if len(part.strip()) == 0:
continue continue
content_parts.append(part) content_parts.append(part)
...@@ -546,7 +545,7 @@ class Fork(Element): ...@@ -546,7 +545,7 @@ class Fork(Element):
for child in self.children: for child in self.children:
part = child.render( part = child.render(
render_type, show_private, level=level + 1, render_type, show_private, level=level + 1,
protocol=protocol) protocol=protocol, decision_render=decision_render, top_render=top_render)
if len(part.strip()) == 0: if len(part.strip()) == 0:
continue continue
content_parts.append("<p>{}</p>".format(part)) content_parts.append("<p>{}</p>".format(part))
...@@ -557,7 +556,7 @@ class Fork(Element): ...@@ -557,7 +556,7 @@ class Fork(Element):
for child in self.children: for child in self.children:
part = child.render( part = child.render(
render_type, show_private, level=level + 1, render_type, show_private, level=level + 1,
protocol=protocol) protocol=protocol, decision_render=decision_render, top_render=top_render)
if len(part.strip()) == 0: if len(part.strip()) == 0:
continue continue
content_parts.append("<li>{}</li>".format(part)) content_parts.append("<li>{}</li>".format(part))
......
...@@ -565,7 +565,7 @@ def parse_protocol_async_inner(protocol, ignore_old_date=False): ...@@ -565,7 +565,7 @@ def parse_protocol_async_inner(protocol, ignore_old_date=False):
for show_private in privacy_states: for show_private in privacy_states:
latex_source = texenv.get_template(provide_latex_template( latex_source = texenv.get_template(provide_latex_template(
protocol.protocoltype.latex_template, "top")).render( protocol.protocoltype.latex_template, "top")).render(
render_type=RenderType.extra, render_type=RenderType.latex,
top=top, top=top,
show_private=show_private, show_private=show_private,
**render_kwargs[show_private]) **render_kwargs[show_private])
......
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
\setlist{nosep} \setlist{nosep}
\newcommand{\Beschluss}[2][]{\textbf{Beschluss:} #2 \def\temp{#1}\ifx\temp\empty\else\textit{(#1)}\fi} \newcommand{\Beschluss}[2][]{\textbf{Beschluss:} #2 \def\temp{#1}\ifx\temp\empty\else\textit{(#1)}\fi}
\newcommand{\Todo}[4]{\textbf{{#1}}: #2: #3 -- #4}
\ENV{if show_private}\setboolean{intern}{true}\ENV{endif} \ENV{if show_private}\setboolean{intern}{true}\ENV{endif}
\intern{\SetWatermarkText{INTERN} \SetWatermarkScale{1}}{} \intern{\SetWatermarkText{INTERN} \SetWatermarkScale{1}}{}
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
\end{center} \end{center}
\ENV{if top|class == "Fork"} \ENV{if top|class == "Fork"}
\VAR{top.render(render_type=render_type, level=0, show_private=show_private, protocol=protocol)} \VAR{top.render(render_type=render_type, level=0, show_private=show_private, protocol=protocol, top_render=True)}
\ENV{endif} \ENV{endif}
\runningpagewiselinenumbers \linenumbers \runningpagewiselinenumbers \linenumbers
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment