Skip to content

Commit 6130e93

Browse files
committed
Added __init_.py and profile.py generation to jinja2 generator
1 parent 90b0b89 commit 6130e93

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

tools/generate-settings-dataclasses-jinja.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,10 @@ def main(
281281
settings_template = jinja_env.get_template('setting.py.jinja2')
282282

283283
tree = parse(settings_xml_path)
284-
all_settings = generate_introspection(tree.getroot())
284+
all_settings = sorted(
285+
generate_introspection(tree.getroot()),
286+
key=lambda x: x.snake_name,
287+
)
285288

286289
settings_dir = Path('./sdbus_async/networkmanager/settings/')
287290
for setting in all_settings:
@@ -296,9 +299,11 @@ def main(
296299

297300
profile_template = jinja_env.get_template('profile.py.jinja2')
298301
with open(settings_dir / 'profile.py', mode='w') as f:
299-
f.write(profile_template.render(
300-
all_settings=sorted(all_settings, key=lambda x: x.snake_name))
301-
)
302+
f.write(profile_template.render(all_settings=all_settings))
303+
304+
init_template = jinja_env.get_template('__init__.py.jinja2')
305+
with open(settings_dir / '__init__.py', mode='w') as f:
306+
f.write(init_template.render(all_settings=all_settings))
302307

303308

304309
if __name__ == '__main__':
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# SPDX-License-Identifier: LGPL-2.1-or-later
2+
# This file was generated by tools/generate-settings-dataclasses-jinja.py,
3+
# if possible, please make changes by also updating the script.
4+
from __future__ import annotations
5+
6+
{% for setting in all_settings -%}
7+
from .{{ setting.snake_name }} import {{ setting.python_class_name }}
8+
{% endfor %}
9+
10+
__all__ = (
11+
{%- for setting in all_settings %}
12+
'{{ setting.python_class_name }}',
13+
{%- endfor %}
14+
)
15+

0 commit comments

Comments
 (0)