Restructuring
All checks were successful
Build on push / prepare (push) Successful in 8s
Build on push / query (push) Successful in 17s
Build on push / core (push) Successful in 26s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 17s

This commit is contained in:
2025-09-16 08:48:07 +02:00
parent 5f25400bcd
commit b97bc0a3ed
72 changed files with 261 additions and 185 deletions

View File

@@ -1,7 +1,7 @@
from cpl.core.application import ApplicationABC
from cpl.application import ApplicationABC
from cpl.core.configuration import ConfigurationABC
from cpl.core.console import Console
from cpl.core.dependency_injection import ServiceProviderABC
from cpl.dependency import ServiceProviderABC
class Application(ApplicationABC):

View File

@@ -1,5 +1,5 @@
import asyncio
from cpl.core.application import ApplicationBuilder
from cpl.application import ApplicationBuilder
from application import Application
from startup import Startup

View File

@@ -1,6 +1,6 @@
from cpl.core.application.async_startup_abc import AsyncStartupABC
from cpl.application.async_startup_abc import AsyncStartupABC
from cpl.core.configuration import ConfigurationABC
from cpl.core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl.dependency import ServiceProviderABC, ServiceCollectionABC
from cpl.core.environment import Environment
@@ -13,7 +13,5 @@ class Startup(AsyncStartupABC):
) -> ConfigurationABC:
return configuration
async def configure_services(
self, services: ServiceCollectionABC, environment: Environment
) -> ServiceProviderABC:
async def configure_services(self, services: ServiceCollectionABC, environment: Environment) -> ServiceProviderABC:
return services.build_service_provider()

View File

@@ -1,17 +1,18 @@
from typing import Optional
from cpl.core.application import ApplicationABC
from cpl.core.configuration import ConfigurationABC
from cpl.application import ApplicationABC
from cpl.core.configuration import Configuration
from cpl.core.console import Console
from cpl.core.dependency_injection import ServiceProviderABC
from cpl.core.environment import Environment
from cpl.dependency import ServiceProviderABC
from cpl.core.log import LoggerABC
from model.user_repo_abc import UserRepoABC
from model.user_repo import UserRepo
class Application(ApplicationABC):
def __init__(self, config: ConfigurationABC, services: ServiceProviderABC):
ApplicationABC.__init__(self, config, services)
def __init__(self, services: ServiceProviderABC):
ApplicationABC.__init__(self, services)
self._logger: Optional[LoggerABC] = None
@@ -19,10 +20,8 @@ class Application(ApplicationABC):
self._logger = self._services.get_service(LoggerABC)
def main(self):
self._logger.header(f"{self._configuration.environment.application_name}:")
self._logger.debug(f"Host: {self._configuration.environment.host_name}")
self._logger.debug(f"Environment: {self._configuration.environment.environment_name}")
self._logger.debug(f"Customer: {self._configuration.environment.customer}")
self._logger.debug(f"Host: {Environment.get_host_name()}")
self._logger.debug(f"Environment: {Environment.get_environment()}")
user_repo: UserRepo = self._services.get_service(UserRepoABC)
if len(user_repo.get_users()) == 0:

View File

@@ -1,4 +1,4 @@
from cpl.core.application import ApplicationBuilder
from cpl.application import ApplicationBuilder
from application import Application
from startup import Startup

View File

@@ -1,4 +1,4 @@
from cpl.core.database import TableABC
from cpl.database import TableABC
class CityModel(TableABC):

View File

@@ -1,5 +1,5 @@
from cpl.core.database import DatabaseSettings
from cpl.core.database.context import DatabaseContext
from cpl.database import DatabaseSettings
from cpl.database.context import DatabaseContext
class DBContext(DatabaseContext):

View File

@@ -1,4 +1,4 @@
from cpl.core.database import TableABC
from cpl.database import TableABC
from .city_model import CityModel

View File

@@ -1,5 +1,5 @@
from cpl.core.console import Console
from cpl.core.database.context import DatabaseContextABC
from cpl.database.context import DatabaseContextABC
from .city_model import CityModel
from .user_model import UserModel

View File

@@ -1,8 +1,8 @@
from cpl.core.application import StartupABC
from cpl.core.configuration import ConfigurationABC
from cpl.core.database import DatabaseSettings
from cpl.core.dependency_injection import ServiceCollectionABC, ServiceProviderABC
from cpl.core.environment import EnvironmentABC
from cpl.application import StartupABC
from cpl.core.configuration import Configuration
from cpl.database import DatabaseSettings
from cpl.dependency import ServiceCollectionABC, ServiceProviderABC
from cpl.core.environment import Environment
from cpl.core.log import Logger, LoggerABC
from model.db_context import DBContext
@@ -16,28 +16,18 @@ class Startup(StartupABC):
self._configuration = None
def configure_configuration(
self, configuration: ConfigurationABC, environment: EnvironmentABC
) -> ConfigurationABC:
configuration.add_environment_variables("PYTHON_")
configuration.add_environment_variables("CPL_")
def configure_configuration(self, configuration: Configuration, environment: Environment):
configuration.add_json_file(f"appsettings.json")
configuration.add_json_file(f"appsettings.{configuration.environment.environment_name}.json")
configuration.add_json_file(f"appsettings.{configuration.environment.host_name}.json", optional=True)
configuration.add_json_file(f"appsettings.{environment.get_environment()}.json")
configuration.add_json_file(f"appsettings.{environment.get_host_name()}.json", optional=True)
self._configuration = configuration
return configuration
def configure_services(
self, services: ServiceCollectionABC, environment: EnvironmentABC
) -> ServiceProviderABC:
def configure_services(self, services: ServiceCollectionABC, environment: Environment):
# Create and connect to database
self._configuration.parse_console_arguments(services)
db_settings: DatabaseSettings = self._configuration.get_configuration(DatabaseSettings)
db_settings: DatabaseSettings = self._configuration.get(DatabaseSettings)
services.add_db_context(DBContext, db_settings)
services.add_singleton(UserRepoABC, UserRepo)
services.add_singleton(LoggerABC, Logger)
return services.build_service_provider()

View File

@@ -1,8 +1,8 @@
from cpl.core.application import ApplicationABC
from cpl.application import ApplicationABC
from cpl.core.configuration import ConfigurationABC
from cpl.core.console.console import Console
from cpl.core.dependency_injection import ServiceProviderABC
from cpl.core.dependency_injection.scope import Scope
from cpl.dependency import ServiceProviderABC
from cpl.dependency.scope import Scope
from di.static_test import StaticTest
from di.test_abc import TestABC
from di.test_service import TestService

View File

@@ -1,4 +1,4 @@
from cpl.core.application import ApplicationBuilder
from cpl.application import ApplicationBuilder
from di.application import Application
from di.startup import Startup

View File

@@ -1,6 +1,6 @@
from cpl.core.application import StartupABC
from cpl.application import StartupABC
from cpl.core.configuration import ConfigurationABC
from cpl.core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl.dependency import ServiceProviderABC, ServiceCollectionABC
from cpl.core.environment import Environment
from di.test1_service import Test1Service
from di.test2_service import Test2Service
@@ -14,14 +14,10 @@ class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
def configure_configuration(
self, configuration: ConfigurationABC, environment: Environment
) -> ConfigurationABC:
def configure_configuration(self, configuration: ConfigurationABC, environment: Environment) -> ConfigurationABC:
return configuration
def configure_services(
self, services: ServiceCollectionABC, environment: Environment
) -> ServiceProviderABC:
def configure_services(self, services: ServiceCollectionABC, environment: Environment) -> ServiceProviderABC:
services.add_scoped(TestService)
services.add_scoped(DITesterService)

View File

@@ -1,5 +1,5 @@
from cpl.core.configuration import ConfigurationABC
from cpl.core.dependency_injection import ServiceProvider, ServiceProviderABC
from cpl.dependency import ServiceProvider, ServiceProviderABC
from di.test_service import TestService

View File

@@ -1,10 +1,10 @@
import time
from typing import Optional
from cpl.core.application.application_abc import ApplicationABC
from cpl.application.application_abc import ApplicationABC
from cpl.core.configuration import Configuration
from cpl.core.console import Console
from cpl.core.dependency_injection import ServiceProviderABC
from cpl.dependency import ServiceProviderABC
from cpl.core.environment import Environment
from cpl.core.log import LoggerABC
from cpl.core.pipes import IPAddressPipe

View File

@@ -1,5 +1,5 @@
from application import Application
from cpl.core.application import ApplicationBuilder
from cpl.application import ApplicationBuilder
from test_extension import TestExtension
from startup import Startup
from test_startup_extension import TestStartupExtension

View File

@@ -1,6 +1,6 @@
from cpl.core.application import StartupABC
from cpl.application import StartupABC
from cpl.core.configuration import Configuration
from cpl.core.dependency_injection import ServiceCollectionABC, ServiceProviderABC
from cpl.dependency import ServiceCollectionABC, ServiceProviderABC
from cpl.core.environment import Environment
from cpl.core.pipes import IPAddressPipe
from test_service import TestService

View File

@@ -1,7 +1,7 @@
from cpl.core.application import ApplicationExtensionABC
from cpl.application import ApplicationExtensionABC
from cpl.core.configuration import Configuration
from cpl.core.console import Console
from cpl.core.dependency_injection import ServiceProviderABC
from cpl.dependency import ServiceProviderABC
class TestExtension(ApplicationExtensionABC):

View File

@@ -1,5 +1,5 @@
from cpl.core.console.console import Console
from cpl.core.dependency_injection import ServiceProviderABC
from cpl.dependency import ServiceProviderABC
from cpl.core.pipes.ip_address_pipe import IPAddressPipe

View File

@@ -1,7 +1,7 @@
from cpl.core.application import StartupExtensionABC
from cpl.application import StartupExtensionABC
from cpl.core.configuration import Configuration
from cpl.core.console import Console
from cpl.core.dependency_injection import ServiceCollectionABC
from cpl.dependency import ServiceCollectionABC
from cpl.core.environment import Environment

View File

@@ -1,7 +1,7 @@
from cpl.core.application import ApplicationABC
from cpl.application import ApplicationABC
from cpl.core.configuration import ConfigurationABC
from cpl.core.console import Console
from cpl.core.dependency_injection import ServiceProviderABC
from cpl.dependency import ServiceProviderABC
from cpl.translation.translate_pipe import TranslatePipe
from cpl.translation.translation_service_abc import TranslationServiceABC
from cpl.translation.translation_settings import TranslationSettings

View File

@@ -1,4 +1,4 @@
from cpl.core.application import ApplicationBuilder
from cpl.application import ApplicationBuilder
from translation.application import Application
from translation.startup import Startup

View File

@@ -1,6 +1,6 @@
from cpl.core.application import StartupABC
from cpl.application import StartupABC
from cpl.core.configuration import ConfigurationABC
from cpl.core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
from cpl.dependency import ServiceProviderABC, ServiceCollectionABC
from cpl.core.environment import Environment
@@ -8,14 +8,10 @@ class Startup(StartupABC):
def __init__(self):
StartupABC.__init__(self)
def configure_configuration(
self, configuration: ConfigurationABC, environment: Environment
) -> ConfigurationABC:
def configure_configuration(self, configuration: ConfigurationABC, environment: Environment) -> ConfigurationABC:
configuration.add_json_file("appsettings.json")
return configuration
def configure_services(
self, services: ServiceCollectionABC, environment: Environment
) -> ServiceProviderABC:
def configure_services(self, services: ServiceCollectionABC, environment: Environment) -> ServiceProviderABC:
services.add_translation()
return services.build_service_provider()