File: enum.jinja2

package info (click to toggle)
python-xsdata 24.1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,936 kB
  • sloc: python: 29,257; xml: 404; makefile: 27; sh: 6
file content (20 lines) | stat: -rw-r--r-- 781 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{% set level = level | default(0) -%}
{% set help | format_docstring(level + 1) %}
    {%- include "docstrings." + docstring_name + ".jinja2" -%}
{% endset -%}
{% set class_name = obj.name | class_name %}

class {{ class_name }}(Enum):
{%- if help %}
{{ help | indent(4, first=True) }}
{%- endif -%}
{%- for attr in obj.attrs %}
    {{ attr.name | constant_name(obj.name) }} = {{ attr | field_default(obj.ns_map) }}
{%- endfor -%}
{% if docstring_name == "accessible" -%}
{{ "\n\n" if level == 0 else "\n" }}
{%- for attr in obj.attrs if attr.help %}
{% set member_name = "{}.{}.__doc__ = ".format(class_name, attr.name | constant_name(obj.name)) -%}
{{ member_name }}{{ attr.help | clean_docstring(false) | format_string(indent=0, key=member_name) }}
{%- endfor -%}
{%- endif -%}