WIP: dev into master #184
@@ -1,10 +1,9 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from cpl.core.configuration import Configuration
|
from cpl.dependency.service_provider_abc import ServiceProviderABC
|
||||||
|
|
||||||
from cpl.core.console.console import Console
|
from cpl.core.console.console import Console
|
||||||
from cpl.core.dependency_injection.service_provider_abc import ServiceProviderABC
|
|
||||||
from cpl.core.environment import Environment
|
|
||||||
|
|
||||||
|
|
||||||
class ApplicationABC(ABC):
|
class ApplicationABC(ABC):
|
||||||
@@ -13,7 +12,7 @@ class ApplicationABC(ABC):
|
|||||||
Parameters:
|
Parameters:
|
||||||
config: :class:`cpl.core.configuration.configuration_abc.ConfigurationABC`
|
config: :class:`cpl.core.configuration.configuration_abc.ConfigurationABC`
|
||||||
Contains object loaded from appsettings
|
Contains object loaded from appsettings
|
||||||
services: :class:`cpl.core.dependency_injection.service_provider_abc.ServiceProviderABC`
|
services: :class:`cpl.dependency.service_provider_abc.ServiceProviderABC`
|
||||||
Contains instances of prepared objects
|
Contains instances of prepared objects
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -47,12 +46,12 @@ class ApplicationABC(ABC):
|
|||||||
def configure(self):
|
def configure(self):
|
||||||
r"""Configure the application
|
r"""Configure the application
|
||||||
|
|
||||||
Called by :class:`cpl.core.application.application_abc.ApplicationABC.run`
|
Called by :class:`cpl.application.application_abc.ApplicationABC.run`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def main(self):
|
def main(self):
|
||||||
r"""Custom entry point
|
r"""Custom entry point
|
||||||
|
|
||||||
Called by :class:`cpl.core.application.application_abc.ApplicationABC.run`
|
Called by :class:`cpl.application.application_abc.ApplicationABC.run`
|
||||||
"""
|
"""
|
||||||
@@ -1,23 +1,23 @@
|
|||||||
from typing import Type, Optional, Callable, Union
|
from typing import Type, Optional, Callable, Union
|
||||||
|
|
||||||
from cpl.core.application.application_abc import ApplicationABC
|
from cpl.application.application_abc import ApplicationABC
|
||||||
from cpl.core.application.application_builder_abc import ApplicationBuilderABC
|
from cpl.application.application_builder_abc import ApplicationBuilderABC
|
||||||
from cpl.core.application.application_extension_abc import ApplicationExtensionABC
|
from cpl.application.application_extension_abc import ApplicationExtensionABC
|
||||||
from cpl.core.application.async_application_extension_abc import AsyncApplicationExtensionABC
|
from cpl.application.async_application_extension_abc import AsyncApplicationExtensionABC
|
||||||
from cpl.core.application.async_startup_abc import AsyncStartupABC
|
from cpl.application.async_startup_abc import AsyncStartupABC
|
||||||
from cpl.core.application.async_startup_extension_abc import AsyncStartupExtensionABC
|
from cpl.application.async_startup_extension_abc import AsyncStartupExtensionABC
|
||||||
from cpl.core.application.startup_abc import StartupABC
|
from cpl.application.startup_abc import StartupABC
|
||||||
from cpl.core.application.startup_extension_abc import StartupExtensionABC
|
from cpl.application.startup_extension_abc import StartupExtensionABC
|
||||||
from cpl.core.configuration.configuration import Configuration
|
from cpl.core.configuration.configuration import Configuration
|
||||||
from cpl.core.dependency_injection.service_collection import ServiceCollection
|
from cpl.dependency.service_collection import ServiceCollection
|
||||||
from cpl.core.environment import Environment
|
from cpl.core.environment import Environment
|
||||||
|
|
||||||
|
|
||||||
class ApplicationBuilder(ApplicationBuilderABC):
|
class ApplicationBuilder(ApplicationBuilderABC):
|
||||||
r"""This is class is used to build an object of :class:`cpl.core.application.application_abc.ApplicationABC`
|
r"""This is class is used to build an object of :class:`cpl.application.application_abc.ApplicationABC`
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
app: Type[:class:`cpl.core.application.application_abc.ApplicationABC`]
|
app: Type[:class:`cpl.application.application_abc.ApplicationABC`]
|
||||||
Application to build
|
Application to build
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from typing import Type
|
from typing import Type
|
||||||
|
|
||||||
from cpl.core.application.application_abc import ApplicationABC
|
from cpl.application.application_abc import ApplicationABC
|
||||||
from cpl.core.application.startup_abc import StartupABC
|
from cpl.application.startup_abc import StartupABC
|
||||||
|
|
||||||
|
|
||||||
class ApplicationBuilderABC(ABC):
|
class ApplicationBuilderABC(ABC):
|
||||||
r"""ABC for the :class:`cpl.core.application.application_builder.ApplicationBuilder`"""
|
r"""ABC for the :class:`cpl.application.application_builder.ApplicationBuilder`"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def __init__(self, *args):
|
def __init__(self, *args):
|
||||||
@@ -17,7 +17,7 @@ class ApplicationBuilderABC(ABC):
|
|||||||
r"""Sets the custom startup class to use
|
r"""Sets the custom startup class to use
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
startup: Type[:class:`cpl.core.application.startup_abc.StartupABC`]
|
startup: Type[:class:`cpl.application.startup_abc.StartupABC`]
|
||||||
Startup class to use
|
Startup class to use
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ class ApplicationBuilderABC(ABC):
|
|||||||
r"""Sets the custom startup class to use async
|
r"""Sets the custom startup class to use async
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
startup: Type[:class:`cpl.core.application.startup_abc.StartupABC`]
|
startup: Type[:class:`cpl.application.startup_abc.StartupABC`]
|
||||||
Startup class to use
|
Startup class to use
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ class ApplicationBuilderABC(ABC):
|
|||||||
r"""Creates custom application object
|
r"""Creates custom application object
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Object of :class:`cpl.core.application.application_abc.ApplicationABC`
|
Object of :class:`cpl.application.application_abc.ApplicationABC`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
@@ -43,5 +43,5 @@ class ApplicationBuilderABC(ABC):
|
|||||||
r"""Creates custom application object async
|
r"""Creates custom application object async
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Object of :class:`cpl.core.application.application_abc.ApplicationABC`
|
Object of :class:`cpl.application.application_abc.ApplicationABC`
|
||||||
"""
|
"""
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
|
||||||
from cpl.core.configuration.configuration import Configuration
|
from cpl.core.configuration.configuration import Configuration
|
||||||
from cpl.core.dependency_injection import ServiceProviderABC
|
from cpl.dependency import ServiceProviderABC
|
||||||
|
|
||||||
|
|
||||||
class ApplicationExtensionABC(ABC):
|
class ApplicationExtensionABC(ABC):
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
|
||||||
from cpl.core.configuration.configuration import Configuration
|
from cpl.core.configuration.configuration import Configuration
|
||||||
from cpl.core.dependency_injection import ServiceProviderABC
|
from cpl.dependency import ServiceProviderABC
|
||||||
|
|
||||||
|
|
||||||
class AsyncApplicationExtensionABC(ABC):
|
class AsyncApplicationExtensionABC(ABC):
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
|
||||||
from cpl.core.dependency_injection.service_collection_abc import ServiceCollectionABC
|
from cpl.dependency.service_collection_abc import ServiceCollectionABC
|
||||||
|
|
||||||
|
|
||||||
class AsyncStartupABC(ABC):
|
class AsyncStartupABC(ABC):
|
||||||
@@ -19,5 +19,5 @@ class AsyncStartupABC(ABC):
|
|||||||
r"""Creates service provider
|
r"""Creates service provider
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
services: :class:`cpl.core.dependency_injection.service_collection_abc`
|
services: :class:`cpl.dependency.service_collection_abc`
|
||||||
"""
|
"""
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
|
||||||
from cpl.core.configuration.configuration import Configuration
|
from cpl.core.configuration.configuration import Configuration
|
||||||
from cpl.core.dependency_injection.service_collection_abc import ServiceCollectionABC
|
from cpl.dependency.service_collection_abc import ServiceCollectionABC
|
||||||
from cpl.core.environment.environment import Environment
|
from cpl.core.environment.environment import Environment
|
||||||
|
|
||||||
|
|
||||||
@@ -26,6 +26,6 @@ class AsyncStartupExtensionABC(ABC):
|
|||||||
r"""Creates service provider
|
r"""Creates service provider
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
services: :class:`cpl.core.dependency_injection.service_collection_abc`
|
services: :class:`cpl.dependency.service_collection_abc`
|
||||||
env: :class:`cpl.core.environment.application_environment_abc`
|
env: :class:`cpl.core.environment.application_environment_abc`
|
||||||
"""
|
"""
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
|
||||||
from cpl.core.configuration import Configuration
|
from cpl.core.configuration import Configuration
|
||||||
from cpl.core.dependency_injection.service_collection_abc import ServiceCollectionABC
|
from cpl.dependency.service_collection_abc import ServiceCollectionABC
|
||||||
from cpl.core.environment import Environment
|
from cpl.core.environment import Environment
|
||||||
|
|
||||||
|
|
||||||
@@ -26,6 +26,6 @@ class StartupABC(ABC):
|
|||||||
r"""Creates service provider
|
r"""Creates service provider
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
services: :class:`cpl.core.dependency_injection.service_collection_abc`
|
services: :class:`cpl.dependency.service_collection_abc`
|
||||||
env: :class:`cpl.core.environment.application_environment_abc`
|
env: :class:`cpl.core.environment.application_environment_abc`
|
||||||
"""
|
"""
|
||||||
@@ -2,7 +2,7 @@ from abc import ABC, abstractmethod
|
|||||||
|
|
||||||
|
|
||||||
from cpl.core.configuration import Configuration
|
from cpl.core.configuration import Configuration
|
||||||
from cpl.core.dependency_injection.service_collection_abc import ServiceCollectionABC
|
from cpl.dependency.service_collection_abc import ServiceCollectionABC
|
||||||
|
|
||||||
from cpl.core.environment.environment import Environment
|
from cpl.core.environment.environment import Environment
|
||||||
|
|
||||||
@@ -28,6 +28,6 @@ class StartupExtensionABC(ABC):
|
|||||||
r"""Creates service provider
|
r"""Creates service provider
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
services: :class:`cpl.core.dependency_injection.service_collection_abc`
|
services: :class:`cpl.dependency.service_collection_abc`
|
||||||
env: :class:`cpl.core.environment.application_environment_abc`
|
env: :class:`cpl.core.environment.application_environment_abc`
|
||||||
"""
|
"""
|
||||||
30
src/cpl-application/pyproject.toml
Normal file
30
src/cpl-application/pyproject.toml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["setuptools>=70.1.0", "wheel>=0.43.0"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "cpl-application"
|
||||||
|
version = "2024.7.0"
|
||||||
|
description = "CPL application"
|
||||||
|
readme ="CPL application package"
|
||||||
|
requires-python = ">=3.12"
|
||||||
|
license = { text = "MIT" }
|
||||||
|
authors = [
|
||||||
|
{ name = "Sven Heidemann", email = "sven.heidemann@sh-edraft.de" }
|
||||||
|
]
|
||||||
|
keywords = ["cpl", "application", "backend", "shared", "library"]
|
||||||
|
|
||||||
|
dynamic = ["dependencies", "optional-dependencies"]
|
||||||
|
|
||||||
|
[project.urls]
|
||||||
|
Homepage = "https://www.sh-edraft.de"
|
||||||
|
|
||||||
|
[tool.setuptools.packages.find]
|
||||||
|
where = ["."]
|
||||||
|
include = ["cpl*"]
|
||||||
|
|
||||||
|
[tool.setuptools.dynamic]
|
||||||
|
dependencies = { file = ["requirements.txt"] }
|
||||||
|
optional-dependencies.dev = { file = ["requirements.dev.txt"] }
|
||||||
|
|
||||||
|
|
||||||
1
src/cpl-application/requirements.dev.txt
Normal file
1
src/cpl-application/requirements.dev.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
black==25.1.0
|
||||||
2
src/cpl-application/requirements.txt
Normal file
2
src/cpl-application/requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cpl-core
|
||||||
|
cpl-dependency
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
from cpl.core.dependency_injection.scope import Scope
|
|
||||||
from cpl.core.dependency_injection.scope_abc import ScopeABC
|
|
||||||
from cpl.core.dependency_injection.service_provider_abc import ServiceProviderABC
|
|
||||||
|
|
||||||
|
|
||||||
class ScopeBuilder:
|
|
||||||
r"""Class to build :class:`cpl.core.dependency_injection.scope.Scope`"""
|
|
||||||
|
|
||||||
def __init__(self, service_provider: ServiceProviderABC) -> None:
|
|
||||||
self._service_provider = service_provider
|
|
||||||
|
|
||||||
def build(self) -> ScopeABC:
|
|
||||||
r"""Returns scope
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
Object of type :class:`cpl.core.dependency_injection.scope.Scope`
|
|
||||||
"""
|
|
||||||
return Scope(self._service_provider)
|
|
||||||
@@ -4,8 +4,8 @@ import mysql.connector as sql
|
|||||||
from mysql.connector.abstracts import MySQLConnectionAbstract
|
from mysql.connector.abstracts import MySQLConnectionAbstract
|
||||||
from mysql.connector.cursor import MySQLCursorBuffered
|
from mysql.connector.cursor import MySQLCursorBuffered
|
||||||
|
|
||||||
from cpl.core.database.connection.database_connection_abc import DatabaseConnectionABC
|
from cpl.database.connection.database_connection_abc import DatabaseConnectionABC
|
||||||
from cpl.core.database.database_settings import DatabaseSettings
|
from cpl.database.database_settings import DatabaseSettings
|
||||||
from cpl.core.utils.credential_manager import CredentialManager
|
from cpl.core.utils.credential_manager import CredentialManager
|
||||||
|
|
||||||
|
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
|
||||||
from cpl.core.database.database_settings import DatabaseSettings
|
from cpl.database.database_settings import DatabaseSettings
|
||||||
from mysql.connector.abstracts import MySQLConnectionAbstract
|
from mysql.connector.abstracts import MySQLConnectionAbstract
|
||||||
from mysql.connector.cursor import MySQLCursorBuffered
|
from mysql.connector.cursor import MySQLCursorBuffered
|
||||||
|
|
||||||
|
|
||||||
class DatabaseConnectionABC(ABC):
|
class DatabaseConnectionABC(ABC):
|
||||||
r"""ABC for the :class:`cpl.core.database.connection.database_connection.DatabaseConnection`"""
|
r"""ABC for the :class:`cpl.database.connection.database_connection.DatabaseConnection`"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
|
||||||
from cpl.core.database.connection.database_connection import DatabaseConnection
|
from cpl.database.connection.database_connection import DatabaseConnection
|
||||||
from cpl.core.database.connection.database_connection_abc import DatabaseConnectionABC
|
from cpl.database.connection.database_connection_abc import DatabaseConnectionABC
|
||||||
from cpl.core.database.context.database_context_abc import DatabaseContextABC
|
from cpl.database.context.database_context_abc import DatabaseContextABC
|
||||||
from cpl.core.database.database_settings import DatabaseSettings
|
from cpl.database.database_settings import DatabaseSettings
|
||||||
from mysql.connector.cursor import MySQLCursorBuffered
|
from mysql.connector.cursor import MySQLCursorBuffered
|
||||||
|
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ class DatabaseContext(DatabaseContextABC):
|
|||||||
r"""Representation of the database context
|
r"""Representation of the database context
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
database_settings: :class:`cpl.core.database.database_settings.DatabaseSettings`
|
database_settings: :class:`cpl.database.database_settings.DatabaseSettings`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
|
|
||||||
from cpl.core.database.database_settings import DatabaseSettings
|
from cpl.database.database_settings import DatabaseSettings
|
||||||
from mysql.connector.cursor import MySQLCursorBuffered
|
from mysql.connector.cursor import MySQLCursorBuffered
|
||||||
|
|
||||||
|
|
||||||
class DatabaseContextABC(ABC):
|
class DatabaseContextABC(ABC):
|
||||||
r"""ABC for the :class:`cpl.core.database.context.database_context.DatabaseContext`"""
|
r"""ABC for the :class:`cpl.database.context.database_context.DatabaseContext`"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def __init__(self, *args):
|
def __init__(self, *args):
|
||||||
@@ -21,7 +21,7 @@ class DatabaseContextABC(ABC):
|
|||||||
r"""Connects to a database by connection settings
|
r"""Connects to a database by connection settings
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
database_settings :class:`cpl.core.database.database_settings.DatabaseSettings`
|
database_settings :class:`cpl.database.database_settings.DatabaseSettings`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
30
src/cpl-database/pyproject.toml
Normal file
30
src/cpl-database/pyproject.toml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["setuptools>=70.1.0", "wheel>=0.43.0"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "cpl-database"
|
||||||
|
version = "2024.7.0"
|
||||||
|
description = "CPL database"
|
||||||
|
readme ="CPL database package"
|
||||||
|
requires-python = ">=3.12"
|
||||||
|
license = { text = "MIT" }
|
||||||
|
authors = [
|
||||||
|
{ name = "Sven Heidemann", email = "sven.heidemann@sh-edraft.de" }
|
||||||
|
]
|
||||||
|
keywords = ["cpl", "database", "backend", "shared", "library"]
|
||||||
|
|
||||||
|
dynamic = ["dependencies", "optional-dependencies"]
|
||||||
|
|
||||||
|
[project.urls]
|
||||||
|
Homepage = "https://www.sh-edraft.de"
|
||||||
|
|
||||||
|
[tool.setuptools.packages.find]
|
||||||
|
where = ["."]
|
||||||
|
include = ["cpl*"]
|
||||||
|
|
||||||
|
[tool.setuptools.dynamic]
|
||||||
|
dependencies = { file = ["requirements.txt"] }
|
||||||
|
optional-dependencies.dev = { file = ["requirements.dev.txt"] }
|
||||||
|
|
||||||
|
|
||||||
1
src/cpl-database/requirements.dev.txt
Normal file
1
src/cpl-database/requirements.dev.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
black==25.1.0
|
||||||
2
src/cpl-database/requirements.txt
Normal file
2
src/cpl-database/requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
cpl-core
|
||||||
|
cpl-dependency
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
from cpl.core.dependency_injection.scope_abc import ScopeABC
|
from cpl.dependency.scope_abc import ScopeABC
|
||||||
from cpl.core.dependency_injection.service_provider_abc import ServiceProviderABC
|
from cpl.dependency.service_provider_abc import ServiceProviderABC
|
||||||
|
|
||||||
|
|
||||||
class Scope(ScopeABC):
|
class Scope(ScopeABC):
|
||||||
@@ -2,7 +2,7 @@ from abc import ABC, abstractmethod
|
|||||||
|
|
||||||
|
|
||||||
class ScopeABC(ABC):
|
class ScopeABC(ABC):
|
||||||
r"""ABC for the class :class:`cpl.core.dependency_injection.scope.Scope`"""
|
r"""ABC for the class :class:`cpl.dependency.scope.Scope`"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
@@ -13,7 +13,7 @@ class ScopeABC(ABC):
|
|||||||
r"""Returns to service provider of scope
|
r"""Returns to service provider of scope
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Object of type :class:`cpl.core.dependency_injection.service_provider_abc.ServiceProviderABC`
|
Object of type :class:`cpl.dependency.service_provider_abc.ServiceProviderABC`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
18
src/cpl-dependency/cpl/dependency/scope_builder.py
Normal file
18
src/cpl-dependency/cpl/dependency/scope_builder.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
from cpl.dependency.scope import Scope
|
||||||
|
from cpl.dependency.scope_abc import ScopeABC
|
||||||
|
from cpl.dependency.service_provider_abc import ServiceProviderABC
|
||||||
|
|
||||||
|
|
||||||
|
class ScopeBuilder:
|
||||||
|
r"""Class to build :class:`cpl.dependency.scope.Scope`"""
|
||||||
|
|
||||||
|
def __init__(self, service_provider: ServiceProviderABC) -> None:
|
||||||
|
self._service_provider = service_provider
|
||||||
|
|
||||||
|
def build(self) -> ScopeABC:
|
||||||
|
r"""Returns scope
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Object of type :class:`cpl.dependency.scope.Scope`
|
||||||
|
"""
|
||||||
|
return Scope(self._service_provider)
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
from typing import Union, Type, Callable, Optional
|
from typing import Union, Type, Callable, Optional
|
||||||
|
|
||||||
from cpl.core.database.context.database_context_abc import DatabaseContextABC
|
from cpl.database.context.database_context_abc import DatabaseContextABC
|
||||||
from cpl.core.database.database_settings import DatabaseSettings
|
from cpl.database.database_settings import DatabaseSettings
|
||||||
from cpl.core.dependency_injection.service_collection_abc import ServiceCollectionABC
|
from cpl.dependency.service_collection_abc import ServiceCollectionABC
|
||||||
from cpl.core.dependency_injection.service_descriptor import ServiceDescriptor
|
from cpl.dependency.service_descriptor import ServiceDescriptor
|
||||||
from cpl.core.dependency_injection.service_lifetime_enum import ServiceLifetimeEnum
|
from cpl.dependency.service_lifetime_enum import ServiceLifetimeEnum
|
||||||
from cpl.core.dependency_injection.service_provider import ServiceProvider
|
from cpl.dependency.service_provider import ServiceProvider
|
||||||
from cpl.core.dependency_injection.service_provider_abc import ServiceProviderABC
|
from cpl.dependency.service_provider_abc import ServiceProviderABC
|
||||||
from cpl.core.log.logger import Logger
|
from cpl.core.log.logger import Logger
|
||||||
from cpl.core.log.logger_abc import LoggerABC
|
from cpl.core.log.logger_abc import LoggerABC
|
||||||
from cpl.core.pipes.pipe_abc import PipeABC
|
from cpl.core.pipes.pipe_abc import PipeABC
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
from abc import abstractmethod, ABC
|
from abc import abstractmethod, ABC
|
||||||
from typing import Type
|
from typing import Type
|
||||||
|
|
||||||
from cpl.core.database.context.database_context_abc import DatabaseContextABC
|
from cpl.database.context.database_context_abc import DatabaseContextABC
|
||||||
from cpl.core.database.database_settings import DatabaseSettings
|
from cpl.database.database_settings import DatabaseSettings
|
||||||
from cpl.core.dependency_injection.service_provider_abc import ServiceProviderABC
|
from cpl.dependency.service_provider_abc import ServiceProviderABC
|
||||||
from cpl.core.typing import T, Source
|
from cpl.core.typing import T, Source
|
||||||
|
|
||||||
|
|
||||||
class ServiceCollectionABC(ABC):
|
class ServiceCollectionABC(ABC):
|
||||||
r"""ABC for the class :class:`cpl.core.dependency_injection.service_collection.ServiceCollection`"""
|
r"""ABC for the class :class:`cpl.dependency.service_collection.ServiceCollection`"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@@ -19,7 +19,7 @@ class ServiceCollectionABC(ABC):
|
|||||||
r"""Adds database context
|
r"""Adds database context
|
||||||
|
|
||||||
Parameter:
|
Parameter:
|
||||||
db_context: Type[:class:`cpl.core.database.context.database_context_abc.DatabaseContextABC`]
|
db_context: Type[:class:`cpl.database.context.database_context_abc.DatabaseContextABC`]
|
||||||
Database context
|
Database context
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ class ServiceCollectionABC(ABC):
|
|||||||
Object of the service
|
Object of the service
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
self: :class:`cpl.core.dependency_injection.service_collection_abc.ServiceCollectionABC`
|
self: :class:`cpl.dependency.service_collection_abc.ServiceCollectionABC`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
@@ -64,7 +64,7 @@ class ServiceCollectionABC(ABC):
|
|||||||
Object of the service
|
Object of the service
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
self: :class:`cpl.core.dependency_injection.service_collection_abc.ServiceCollectionABC`
|
self: :class:`cpl.dependency.service_collection_abc.ServiceCollectionABC`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
@@ -78,7 +78,7 @@ class ServiceCollectionABC(ABC):
|
|||||||
Object of the service
|
Object of the service
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
self: :class:`cpl.core.dependency_injection.service_collection_abc.ServiceCollectionABC`
|
self: :class:`cpl.dependency.service_collection_abc.ServiceCollectionABC`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
@@ -86,5 +86,5 @@ class ServiceCollectionABC(ABC):
|
|||||||
r"""Creates instance of the service provider
|
r"""Creates instance of the service provider
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Object of type :class:`cpl.core.dependency_injection.service_provider_abc.ServiceProviderABC`
|
Object of type :class:`cpl.dependency.service_provider_abc.ServiceProviderABC`
|
||||||
"""
|
"""
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
from typing import Union, Optional
|
from typing import Union, Optional
|
||||||
|
|
||||||
from cpl.core.dependency_injection.service_lifetime_enum import ServiceLifetimeEnum
|
from cpl.dependency.service_lifetime_enum import ServiceLifetimeEnum
|
||||||
|
|
||||||
|
|
||||||
class ServiceDescriptor:
|
class ServiceDescriptor:
|
||||||
@@ -9,7 +9,7 @@ class ServiceDescriptor:
|
|||||||
Parameter:
|
Parameter:
|
||||||
implementation: Union[:class:`type`, Optional[:class:`object`]]
|
implementation: Union[:class:`type`, Optional[:class:`object`]]
|
||||||
Object or type of service
|
Object or type of service
|
||||||
lifetime: :class:`cpl.core.dependency_injection.service_lifetime_enum.ServiceLifetimeEnum`
|
lifetime: :class:`cpl.dependency.service_lifetime_enum.ServiceLifetimeEnum`
|
||||||
Lifetime of the service
|
Lifetime of the service
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -5,14 +5,14 @@ from typing import Optional
|
|||||||
|
|
||||||
from cpl.core.configuration import Configuration
|
from cpl.core.configuration import Configuration
|
||||||
from cpl.core.configuration.configuration_model_abc import ConfigurationModelABC
|
from cpl.core.configuration.configuration_model_abc import ConfigurationModelABC
|
||||||
from cpl.core.database.context.database_context_abc import DatabaseContextABC
|
from cpl.database.context.database_context_abc import DatabaseContextABC
|
||||||
from cpl.core.dependency_injection.scope_abc import ScopeABC
|
|
||||||
from cpl.core.dependency_injection.scope_builder import ScopeBuilder
|
|
||||||
from cpl.core.dependency_injection.service_descriptor import ServiceDescriptor
|
|
||||||
from cpl.core.dependency_injection.service_lifetime_enum import ServiceLifetimeEnum
|
|
||||||
from cpl.core.dependency_injection.service_provider_abc import ServiceProviderABC
|
|
||||||
from cpl.core.environment import Environment
|
from cpl.core.environment import Environment
|
||||||
from cpl.core.typing import T, R, Source
|
from cpl.core.typing import T, R, Source
|
||||||
|
from cpl.dependency.scope_abc import ScopeABC
|
||||||
|
from cpl.dependency.scope_builder import ScopeBuilder
|
||||||
|
from cpl.dependency.service_descriptor import ServiceDescriptor
|
||||||
|
from cpl.dependency.service_lifetime_enum import ServiceLifetimeEnum
|
||||||
|
from cpl.dependency.service_provider_abc import ServiceProviderABC
|
||||||
|
|
||||||
|
|
||||||
class ServiceProvider(ServiceProviderABC):
|
class ServiceProvider(ServiceProviderABC):
|
||||||
@@ -20,11 +20,11 @@ class ServiceProvider(ServiceProviderABC):
|
|||||||
|
|
||||||
Parameter
|
Parameter
|
||||||
---------
|
---------
|
||||||
service_descriptors: list[:class:`cpl.core.dependency_injection.service_descriptor.ServiceDescriptor`]
|
service_descriptors: list[:class:`cpl.dependency.service_descriptor.ServiceDescriptor`]
|
||||||
Descriptor of the service
|
Descriptor of the service
|
||||||
config: :class:`cpl.core.configuration.configuration_abc.ConfigurationABC`
|
config: :class:`cpl.core.configuration.configuration_abc.ConfigurationABC`
|
||||||
CPL Configuration
|
CPL Configuration
|
||||||
db_context: Optional[:class:`cpl.core.database.context.database_context_abc.DatabaseContextABC`]
|
db_context: Optional[:class:`cpl.database.context.database_context_abc.DatabaseContextABC`]
|
||||||
Database representation
|
Database representation
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -3,12 +3,12 @@ from abc import abstractmethod, ABC
|
|||||||
from inspect import Signature, signature
|
from inspect import Signature, signature
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from cpl.core.dependency_injection.scope_abc import ScopeABC
|
from cpl.dependency.scope_abc import ScopeABC
|
||||||
from cpl.core.typing import T, R
|
from cpl.core.typing import T, R
|
||||||
|
|
||||||
|
|
||||||
class ServiceProviderABC(ABC):
|
class ServiceProviderABC(ABC):
|
||||||
r"""ABC for the class :class:`cpl.core.dependency_injection.service_provider.ServiceProvider`"""
|
r"""ABC for the class :class:`cpl.dependency.service_provider.ServiceProvider`"""
|
||||||
|
|
||||||
_provider: Optional["ServiceProviderABC"] = None
|
_provider: Optional["ServiceProviderABC"] = None
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ class ServiceProviderABC(ABC):
|
|||||||
|
|
||||||
Parameter
|
Parameter
|
||||||
---------
|
---------
|
||||||
Object of type :class:`cpl.core.dependency_injection.scope_abc.ScopeABC`
|
Object of type :class:`cpl.dependency.scope_abc.ScopeABC`
|
||||||
Service scope
|
Service scope
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ class ServiceProviderABC(ABC):
|
|||||||
|
|
||||||
Returns
|
Returns
|
||||||
-------
|
-------
|
||||||
Object of type :class:`cpl.core.dependency_injection.scope_abc.ScopeABC`
|
Object of type :class:`cpl.dependency.scope_abc.ScopeABC`
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
30
src/cpl-dependency/pyproject.toml
Normal file
30
src/cpl-dependency/pyproject.toml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["setuptools>=70.1.0", "wheel>=0.43.0"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "cpl-dependency"
|
||||||
|
version = "2024.7.0"
|
||||||
|
description = "CPL dependency"
|
||||||
|
readme ="CPL dependency package"
|
||||||
|
requires-python = ">=3.12"
|
||||||
|
license = { text = "MIT" }
|
||||||
|
authors = [
|
||||||
|
{ name = "Sven Heidemann", email = "sven.heidemann@sh-edraft.de" }
|
||||||
|
]
|
||||||
|
keywords = ["cpl", "dependency", "backend", "shared", "library"]
|
||||||
|
|
||||||
|
dynamic = ["dependencies", "optional-dependencies"]
|
||||||
|
|
||||||
|
[project.urls]
|
||||||
|
Homepage = "https://www.sh-edraft.de"
|
||||||
|
|
||||||
|
[tool.setuptools.packages.find]
|
||||||
|
where = ["."]
|
||||||
|
include = ["cpl*"]
|
||||||
|
|
||||||
|
[tool.setuptools.dynamic]
|
||||||
|
dependencies = { file = ["requirements.txt"] }
|
||||||
|
optional-dependencies.dev = { file = ["requirements.dev.txt"] }
|
||||||
|
|
||||||
|
|
||||||
1
src/cpl-dependency/requirements.dev.txt
Normal file
1
src/cpl-dependency/requirements.dev.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
black==25.1.0
|
||||||
1
src/cpl-dependency/requirements.txt
Normal file
1
src/cpl-dependency/requirements.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
cpl-core
|
||||||
@@ -18,7 +18,7 @@ def add_mail(self):
|
|||||||
|
|
||||||
|
|
||||||
def init():
|
def init():
|
||||||
from cpl.core.dependency_injection import ServiceCollection
|
from cpl.dependency import ServiceCollection
|
||||||
|
|
||||||
ServiceCollection.add_mail = add_mail
|
ServiceCollection.add_mail = add_mail
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ def add_translation(self):
|
|||||||
|
|
||||||
|
|
||||||
def init():
|
def init():
|
||||||
from cpl.core.dependency_injection import ServiceCollection
|
from cpl.dependency import ServiceCollection
|
||||||
|
|
||||||
ServiceCollection.add_translation = add_translation
|
ServiceCollection.add_translation = add_translation
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from cpl.core.application import ApplicationABC
|
from cpl.application import ApplicationABC
|
||||||
from cpl.core.configuration import ConfigurationABC
|
from cpl.core.configuration import ConfigurationABC
|
||||||
from cpl.core.console import Console
|
from cpl.core.console import Console
|
||||||
from cpl.core.dependency_injection import ServiceProviderABC
|
from cpl.dependency import ServiceProviderABC
|
||||||
|
|
||||||
|
|
||||||
class Application(ApplicationABC):
|
class Application(ApplicationABC):
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
from cpl.core.application import ApplicationBuilder
|
from cpl.application import ApplicationBuilder
|
||||||
|
|
||||||
from application import Application
|
from application import Application
|
||||||
from startup import Startup
|
from startup import Startup
|
||||||
|
|||||||
@@ -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.configuration import ConfigurationABC
|
||||||
from cpl.core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
|
from cpl.dependency import ServiceProviderABC, ServiceCollectionABC
|
||||||
from cpl.core.environment import Environment
|
from cpl.core.environment import Environment
|
||||||
|
|
||||||
|
|
||||||
@@ -13,7 +13,5 @@ class Startup(AsyncStartupABC):
|
|||||||
) -> ConfigurationABC:
|
) -> ConfigurationABC:
|
||||||
return configuration
|
return configuration
|
||||||
|
|
||||||
async def configure_services(
|
async def configure_services(self, services: ServiceCollectionABC, environment: Environment) -> ServiceProviderABC:
|
||||||
self, services: ServiceCollectionABC, environment: Environment
|
|
||||||
) -> ServiceProviderABC:
|
|
||||||
return services.build_service_provider()
|
return services.build_service_provider()
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from cpl.core.application import ApplicationABC
|
from cpl.application import ApplicationABC
|
||||||
from cpl.core.configuration import ConfigurationABC
|
from cpl.core.configuration import Configuration
|
||||||
from cpl.core.console import Console
|
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 cpl.core.log import LoggerABC
|
||||||
from model.user_repo_abc import UserRepoABC
|
from model.user_repo_abc import UserRepoABC
|
||||||
from model.user_repo import UserRepo
|
from model.user_repo import UserRepo
|
||||||
|
|
||||||
|
|
||||||
class Application(ApplicationABC):
|
class Application(ApplicationABC):
|
||||||
def __init__(self, config: ConfigurationABC, services: ServiceProviderABC):
|
def __init__(self, services: ServiceProviderABC):
|
||||||
ApplicationABC.__init__(self, config, services)
|
ApplicationABC.__init__(self, services)
|
||||||
|
|
||||||
self._logger: Optional[LoggerABC] = None
|
self._logger: Optional[LoggerABC] = None
|
||||||
|
|
||||||
@@ -19,10 +20,8 @@ class Application(ApplicationABC):
|
|||||||
self._logger = self._services.get_service(LoggerABC)
|
self._logger = self._services.get_service(LoggerABC)
|
||||||
|
|
||||||
def main(self):
|
def main(self):
|
||||||
self._logger.header(f"{self._configuration.environment.application_name}:")
|
self._logger.debug(f"Host: {Environment.get_host_name()}")
|
||||||
self._logger.debug(f"Host: {self._configuration.environment.host_name}")
|
self._logger.debug(f"Environment: {Environment.get_environment()}")
|
||||||
self._logger.debug(f"Environment: {self._configuration.environment.environment_name}")
|
|
||||||
self._logger.debug(f"Customer: {self._configuration.environment.customer}")
|
|
||||||
|
|
||||||
user_repo: UserRepo = self._services.get_service(UserRepoABC)
|
user_repo: UserRepo = self._services.get_service(UserRepoABC)
|
||||||
if len(user_repo.get_users()) == 0:
|
if len(user_repo.get_users()) == 0:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from cpl.core.application import ApplicationBuilder
|
from cpl.application import ApplicationBuilder
|
||||||
|
|
||||||
from application import Application
|
from application import Application
|
||||||
from startup import Startup
|
from startup import Startup
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from cpl.core.database import TableABC
|
from cpl.database import TableABC
|
||||||
|
|
||||||
|
|
||||||
class CityModel(TableABC):
|
class CityModel(TableABC):
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from cpl.core.database import DatabaseSettings
|
from cpl.database import DatabaseSettings
|
||||||
from cpl.core.database.context import DatabaseContext
|
from cpl.database.context import DatabaseContext
|
||||||
|
|
||||||
|
|
||||||
class DBContext(DatabaseContext):
|
class DBContext(DatabaseContext):
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from cpl.core.database import TableABC
|
from cpl.database import TableABC
|
||||||
|
|
||||||
from .city_model import CityModel
|
from .city_model import CityModel
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from cpl.core.console import Console
|
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 .city_model import CityModel
|
||||||
from .user_model import UserModel
|
from .user_model import UserModel
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
from cpl.core.application import StartupABC
|
from cpl.application import StartupABC
|
||||||
from cpl.core.configuration import ConfigurationABC
|
from cpl.core.configuration import Configuration
|
||||||
from cpl.core.database import DatabaseSettings
|
from cpl.database import DatabaseSettings
|
||||||
from cpl.core.dependency_injection import ServiceCollectionABC, ServiceProviderABC
|
from cpl.dependency import ServiceCollectionABC, ServiceProviderABC
|
||||||
from cpl.core.environment import EnvironmentABC
|
from cpl.core.environment import Environment
|
||||||
from cpl.core.log import Logger, LoggerABC
|
from cpl.core.log import Logger, LoggerABC
|
||||||
|
|
||||||
from model.db_context import DBContext
|
from model.db_context import DBContext
|
||||||
@@ -16,28 +16,18 @@ class Startup(StartupABC):
|
|||||||
|
|
||||||
self._configuration = None
|
self._configuration = None
|
||||||
|
|
||||||
def configure_configuration(
|
def configure_configuration(self, configuration: Configuration, environment: Environment):
|
||||||
self, configuration: ConfigurationABC, environment: EnvironmentABC
|
|
||||||
) -> ConfigurationABC:
|
|
||||||
configuration.add_environment_variables("PYTHON_")
|
|
||||||
configuration.add_environment_variables("CPL_")
|
|
||||||
configuration.add_json_file(f"appsettings.json")
|
configuration.add_json_file(f"appsettings.json")
|
||||||
configuration.add_json_file(f"appsettings.{configuration.environment.environment_name}.json")
|
configuration.add_json_file(f"appsettings.{environment.get_environment()}.json")
|
||||||
configuration.add_json_file(f"appsettings.{configuration.environment.host_name}.json", optional=True)
|
configuration.add_json_file(f"appsettings.{environment.get_host_name()}.json", optional=True)
|
||||||
|
|
||||||
self._configuration = configuration
|
self._configuration = configuration
|
||||||
|
|
||||||
return configuration
|
def configure_services(self, services: ServiceCollectionABC, environment: Environment):
|
||||||
|
|
||||||
def configure_services(
|
|
||||||
self, services: ServiceCollectionABC, environment: EnvironmentABC
|
|
||||||
) -> ServiceProviderABC:
|
|
||||||
# Create and connect to database
|
# Create and connect to database
|
||||||
self._configuration.parse_console_arguments(services)
|
db_settings: DatabaseSettings = self._configuration.get(DatabaseSettings)
|
||||||
db_settings: DatabaseSettings = self._configuration.get_configuration(DatabaseSettings)
|
|
||||||
services.add_db_context(DBContext, db_settings)
|
services.add_db_context(DBContext, db_settings)
|
||||||
|
|
||||||
services.add_singleton(UserRepoABC, UserRepo)
|
services.add_singleton(UserRepoABC, UserRepo)
|
||||||
|
|
||||||
services.add_singleton(LoggerABC, Logger)
|
services.add_singleton(LoggerABC, Logger)
|
||||||
return services.build_service_provider()
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
from cpl.core.application import ApplicationABC
|
from cpl.application import ApplicationABC
|
||||||
from cpl.core.configuration import ConfigurationABC
|
from cpl.core.configuration import ConfigurationABC
|
||||||
from cpl.core.console.console import Console
|
from cpl.core.console.console import Console
|
||||||
from cpl.core.dependency_injection import ServiceProviderABC
|
from cpl.dependency import ServiceProviderABC
|
||||||
from cpl.core.dependency_injection.scope import Scope
|
from cpl.dependency.scope import Scope
|
||||||
from di.static_test import StaticTest
|
from di.static_test import StaticTest
|
||||||
from di.test_abc import TestABC
|
from di.test_abc import TestABC
|
||||||
from di.test_service import TestService
|
from di.test_service import TestService
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from cpl.core.application import ApplicationBuilder
|
from cpl.application import ApplicationBuilder
|
||||||
|
|
||||||
from di.application import Application
|
from di.application import Application
|
||||||
from di.startup import Startup
|
from di.startup import Startup
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from cpl.core.application import StartupABC
|
from cpl.application import StartupABC
|
||||||
from cpl.core.configuration import ConfigurationABC
|
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 cpl.core.environment import Environment
|
||||||
from di.test1_service import Test1Service
|
from di.test1_service import Test1Service
|
||||||
from di.test2_service import Test2Service
|
from di.test2_service import Test2Service
|
||||||
@@ -14,14 +14,10 @@ class Startup(StartupABC):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
StartupABC.__init__(self)
|
StartupABC.__init__(self)
|
||||||
|
|
||||||
def configure_configuration(
|
def configure_configuration(self, configuration: ConfigurationABC, environment: Environment) -> ConfigurationABC:
|
||||||
self, configuration: ConfigurationABC, environment: Environment
|
|
||||||
) -> ConfigurationABC:
|
|
||||||
return configuration
|
return configuration
|
||||||
|
|
||||||
def configure_services(
|
def configure_services(self, services: ServiceCollectionABC, environment: Environment) -> ServiceProviderABC:
|
||||||
self, services: ServiceCollectionABC, environment: Environment
|
|
||||||
) -> ServiceProviderABC:
|
|
||||||
services.add_scoped(TestService)
|
services.add_scoped(TestService)
|
||||||
services.add_scoped(DITesterService)
|
services.add_scoped(DITesterService)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from cpl.core.configuration import ConfigurationABC
|
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
|
from di.test_service import TestService
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import time
|
import time
|
||||||
from typing import Optional
|
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.configuration import Configuration
|
||||||
from cpl.core.console import Console
|
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.environment import Environment
|
||||||
from cpl.core.log import LoggerABC
|
from cpl.core.log import LoggerABC
|
||||||
from cpl.core.pipes import IPAddressPipe
|
from cpl.core.pipes import IPAddressPipe
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from application import Application
|
from application import Application
|
||||||
from cpl.core.application import ApplicationBuilder
|
from cpl.application import ApplicationBuilder
|
||||||
from test_extension import TestExtension
|
from test_extension import TestExtension
|
||||||
from startup import Startup
|
from startup import Startup
|
||||||
from test_startup_extension import TestStartupExtension
|
from test_startup_extension import TestStartupExtension
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from cpl.core.application import StartupABC
|
from cpl.application import StartupABC
|
||||||
from cpl.core.configuration import Configuration
|
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.environment import Environment
|
||||||
from cpl.core.pipes import IPAddressPipe
|
from cpl.core.pipes import IPAddressPipe
|
||||||
from test_service import TestService
|
from test_service import TestService
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from cpl.core.application import ApplicationExtensionABC
|
from cpl.application import ApplicationExtensionABC
|
||||||
from cpl.core.configuration import Configuration
|
from cpl.core.configuration import Configuration
|
||||||
from cpl.core.console import Console
|
from cpl.core.console import Console
|
||||||
from cpl.core.dependency_injection import ServiceProviderABC
|
from cpl.dependency import ServiceProviderABC
|
||||||
|
|
||||||
|
|
||||||
class TestExtension(ApplicationExtensionABC):
|
class TestExtension(ApplicationExtensionABC):
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
from cpl.core.console.console import Console
|
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
|
from cpl.core.pipes.ip_address_pipe import IPAddressPipe
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from cpl.core.application import StartupExtensionABC
|
from cpl.application import StartupExtensionABC
|
||||||
from cpl.core.configuration import Configuration
|
from cpl.core.configuration import Configuration
|
||||||
from cpl.core.console import Console
|
from cpl.core.console import Console
|
||||||
from cpl.core.dependency_injection import ServiceCollectionABC
|
from cpl.dependency import ServiceCollectionABC
|
||||||
from cpl.core.environment import Environment
|
from cpl.core.environment import Environment
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
from cpl.core.application import ApplicationABC
|
from cpl.application import ApplicationABC
|
||||||
from cpl.core.configuration import ConfigurationABC
|
from cpl.core.configuration import ConfigurationABC
|
||||||
from cpl.core.console import Console
|
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.translate_pipe import TranslatePipe
|
||||||
from cpl.translation.translation_service_abc import TranslationServiceABC
|
from cpl.translation.translation_service_abc import TranslationServiceABC
|
||||||
from cpl.translation.translation_settings import TranslationSettings
|
from cpl.translation.translation_settings import TranslationSettings
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from cpl.core.application import ApplicationBuilder
|
from cpl.application import ApplicationBuilder
|
||||||
|
|
||||||
from translation.application import Application
|
from translation.application import Application
|
||||||
from translation.startup import Startup
|
from translation.startup import Startup
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from cpl.core.application import StartupABC
|
from cpl.application import StartupABC
|
||||||
from cpl.core.configuration import ConfigurationABC
|
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 cpl.core.environment import Environment
|
||||||
|
|
||||||
|
|
||||||
@@ -8,14 +8,10 @@ class Startup(StartupABC):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
StartupABC.__init__(self)
|
StartupABC.__init__(self)
|
||||||
|
|
||||||
def configure_configuration(
|
def configure_configuration(self, configuration: ConfigurationABC, environment: Environment) -> ConfigurationABC:
|
||||||
self, configuration: ConfigurationABC, environment: Environment
|
|
||||||
) -> ConfigurationABC:
|
|
||||||
configuration.add_json_file("appsettings.json")
|
configuration.add_json_file("appsettings.json")
|
||||||
return configuration
|
return configuration
|
||||||
|
|
||||||
def configure_services(
|
def configure_services(self, services: ServiceCollectionABC, environment: Environment) -> ServiceProviderABC:
|
||||||
self, services: ServiceCollectionABC, environment: Environment
|
|
||||||
) -> ServiceProviderABC:
|
|
||||||
services.add_translation()
|
services.add_translation()
|
||||||
return services.build_service_provider()
|
return services.build_service_provider()
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from cpl.core.application import ApplicationABC
|
from cpl.application import ApplicationABC
|
||||||
from cpl.core.configuration import ConfigurationABC
|
from cpl.core.configuration import ConfigurationABC
|
||||||
from cpl.core.dependency_injection import ServiceProviderABC
|
from cpl.dependency import ServiceProviderABC
|
||||||
from unittests_cli.cli_test_suite import CLITestSuite
|
from unittests_cli.cli_test_suite import CLITestSuite
|
||||||
from unittests_core.core_test_suite import CoreTestSuite
|
from unittests_core.core_test_suite import CoreTestSuite
|
||||||
from unittests_query.query_test_suite import QueryTestSuite
|
from unittests_query.query_test_suite import QueryTestSuite
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
from cpl.core.application import ApplicationBuilder
|
from cpl.application import ApplicationBuilder
|
||||||
from unittests.application import Application
|
from unittests.application import Application
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import unittest
|
|||||||
from unittest.mock import Mock, MagicMock
|
from unittest.mock import Mock, MagicMock
|
||||||
|
|
||||||
from cpl.core.configuration import Configuration, ArgumentTypeEnum
|
from cpl.core.configuration import Configuration, ArgumentTypeEnum
|
||||||
from cpl.core.database import DatabaseSettings
|
from cpl.database import DatabaseSettings
|
||||||
from cpl.core.dependency_injection import ServiceProvider, ServiceCollection
|
from cpl.dependency import ServiceProvider, ServiceCollection
|
||||||
from cpl.mail import EMailClientSettings
|
from cpl.mail import EMailClientSettings
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import unittest
|
|||||||
from unittest.mock import Mock, MagicMock
|
from unittest.mock import Mock, MagicMock
|
||||||
|
|
||||||
from cpl.core.configuration import Configuration, ArgumentTypeEnum
|
from cpl.core.configuration import Configuration, ArgumentTypeEnum
|
||||||
from cpl.core.dependency_injection import ServiceCollection
|
from cpl.dependency import ServiceCollection
|
||||||
|
|
||||||
|
|
||||||
class ConsoleArgumentsTestCase(unittest.TestCase):
|
class ConsoleArgumentsTestCase(unittest.TestCase):
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import unittest
|
|||||||
from unittest.mock import Mock
|
from unittest.mock import Mock
|
||||||
|
|
||||||
from cpl.core.configuration import Configuration
|
from cpl.core.configuration import Configuration
|
||||||
from cpl.core.dependency_injection import ServiceCollection, ServiceLifetimeEnum, ServiceProviderABC
|
from cpl.dependency import ServiceCollection, ServiceLifetimeEnum, ServiceProviderABC
|
||||||
|
|
||||||
|
|
||||||
class ServiceCollectionTestCase(unittest.TestCase):
|
class ServiceCollectionTestCase(unittest.TestCase):
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from cpl.core.configuration import Configuration
|
from cpl.core.configuration import Configuration
|
||||||
from cpl.core.dependency_injection import ServiceCollection, ServiceProviderABC
|
from cpl.dependency import ServiceCollection, ServiceProviderABC
|
||||||
|
|
||||||
|
|
||||||
class ServiceCount:
|
class ServiceCount:
|
||||||
|
|||||||
Reference in New Issue
Block a user