diff --git a/oarepo_model_builder/invenio/templates/ext_resource.py.jinja2 b/oarepo_model_builder/invenio/templates/ext_resource.py.jinja2 index 69504a6..9be831d 100644 --- a/oarepo_model_builder/invenio/templates/ext_resource.py.jinja2 +++ b/oarepo_model_builder/invenio/templates/ext_resource.py.jinja2 @@ -1,17 +1,26 @@ from functools import cached_property {{ vars.config.module|generate_import(alias='config') }} +{% for extra_field_value in ext.service_kwargs.values() %} +{{ extra_field_value|code_imports }} +{% endfor %} + class {{ vars.ext|class_header }}: {% if not vars.service.skip %} @cached_property def {{ ext.ext_service_name }}(self): service_config = config.{{ vars.service_config.config_key }} - service_kwargs = {{ ext.service_kwargs }} if hasattr(service_config, "build"): config_class = service_config.build(self.app) else: config_class = service_config() - service_kwargs["config"] = config_class + + service_kwargs = { + {% for kwarg_name, kwarg_def in ext.service_kwargs.items() %} + "{{ kwarg_name }}": {{ kwarg_def | extra_code}}, + {% endfor %} + "config": config_class + } return config.{{ vars.service.config_key }}( **service_kwargs, {% if vars.service.additional_args %} diff --git a/setup.cfg b/setup.cfg index 16a3d0a..50ce5f2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = oarepo-model-builder -version = 4.0.97 +version = 4.0.98 description = A utility library that generates OARepo required data model files from a JSON specification file authors = Miroslav Bauer , Miroslav Simek readme = README.md