You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
794 B
Django/Jinja
28 lines
794 B
Django/Jinja
from __future__ import annotations
|
|
|
|
import os
|
|
|
|
from iti import create_app as create_framework_app
|
|
{% if include_system %}
|
|
from iti_system import create_system_module
|
|
{% endif %}
|
|
from config import config
|
|
from app.modules.example.module import ExampleModule
|
|
|
|
|
|
def create_app(config_name: str | None = None, config_overrides: dict | None = None):
|
|
config_name = config_name or os.getenv("APP_ENV", "dev")
|
|
modules = [ExampleModule()]
|
|
{% if include_system %}
|
|
modules.append(create_system_module())
|
|
{% endif %}
|
|
app = create_framework_app(
|
|
config_name=config_name,
|
|
config_mapping=config,
|
|
modules=modules,
|
|
)
|
|
if config_overrides:
|
|
for key, value in config_overrides.items():
|
|
setattr(app.state.config, key.lower(), value)
|
|
return app
|