summaryrefslogtreecommitdiffstats
path: root/docs/templates/python/material/class.html.jinja
blob: cbf9fac2219aa8b9b5e32e837e9b8d1247802dc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
{% extends "_base/class.html.jinja" %}
{% set anta_test = namespace(found=false) %}
{% set anta_test_input_model = namespace(found=false) %}
{% for base in class.bases %}
{%   set basestr = base | string %}
{%   if "AntaTest" == basestr %}
{%     set anta_test.found = True %}
{%   endif %}
{% endfor %}
{# TODO make this nicer #}
{% if class.parent.parent.name == "input_models" or class.parent.parent.parent.name == "input_models" %}
{%     set anta_test_input_model.found = True %}
{% endif %}
{% block children %}
{%   if anta_test.found %}
  {% set root = False %}
  {% set heading_level = heading_level + 1 %}
  {% include "anta_test.html.jinja" with context %}
  {# render source after children - TODO make add flag to respect disabling it.. though do we want to disable?#}
  <details class="quote">
  <summary>Source code in <code>
    {%- if class.relative_filepath.is_absolute() -%}
      {{ class.relative_package_filepath }}
    {%- else -%}
      {{ class.relative_filepath }}
    {%- endif -%}
  </code></summary>
  {{ class.source|highlight(language="python", linestart=class.lineno, linenums=True) }}
  </details>
{%    elif anta_test_input_model.found %}
  {% set root = False %}
  {% set heading_level = heading_level + 1 %}
  {% include "anta_test_input_model.html.jinja" with context %}
  {# render source after children - TODO make add flag to respect disabling it.. though do we want to disable?#}
  <details class="quote">
  <summary>Source code in <code>
    {%- if class.relative_filepath.is_absolute() -%}
      {{ class.relative_package_filepath }}
    {%- else -%}
      {{ class.relative_filepath }}
    {%- endif -%}
  </code></summary>
  {{ class.source|highlight(language="python", linestart=class.lineno, linenums=True) }}
  </details>
{%   else %}
  {{ super() }}
{%   endif %}
{% endblock children %}

{# Do not render source before children for AntaTest #}
{% block source %}
{%   if not anta_test.found and not anta_test_input_model%}
  {{ super() }}
{%   endif %}
{% endblock source %}

{# overwrite block base to render some stuff on deprecation for anta_test #}
{% block bases %}
{{ super() }}

{% for dec in class.decorators %}
{% if dec.value.function.name == "deprecated_test_class" %}
<img alt="Static Badge" src="https://img.shields.io/badge/DEPRECATED-yellow?style=flat&logoSize=auto">
{% for arg in dec.value.arguments | selectattr("name", "equalto", "removal_in_version") | list %}
<img alt="Static Badge" src="https://img.shields.io/badge/REMOVAL-{{ arg.value[1:-1] }}-grey?style=flat&logoSize=auto&labelColor=red">
{% endfor %}
<br/>
{% for arg in dec.value.arguments | selectattr("name", "equalto", "new_tests") | list %}
<strong>Replaced with:</strong> {{ arg.value.elements | map("replace", "'", "<code>", 1) | map("replace", "'", "</code>", 1) | join(", ") | safe }}
{% endfor %}
{% endif %}
{% endfor %}
{% endblock bases %}