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 %}
|