Merge pull request '2023.10' (#175) from 2023.10 into master
Reviewed-on: #175
This commit is contained in:
commit
46ef6b3938
@ -11,16 +11,16 @@ CPL Command Line Interface
|
||||
|
||||
"""
|
||||
|
||||
__title__ = "cpl_cli._templates.build"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post3"
|
||||
__title__ = 'cpl_cli._templates.build'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2020 - 2023 sh-edraft.de'
|
||||
__version__ = '2023.4.0.post3'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post3")
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2023', minor='4', micro='0.post3')
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -23,4 +23,4 @@ from collections import namedtuple
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.application"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -29,4 +29,4 @@ from .startup_abc import StartupABC
|
||||
from .startup_extension_abc import StartupExtensionABC
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.configuration"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -35,4 +35,4 @@ from .validator_abc import ValidatorABC
|
||||
from .variable_argument import VariableArgument
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -24,7 +24,7 @@ from cpl_core.dependency_injection.service_provider_abc import ServiceProviderAB
|
||||
from cpl_core.environment.application_environment import ApplicationEnvironment
|
||||
from cpl_core.environment.application_environment_abc import ApplicationEnvironmentABC
|
||||
from cpl_core.environment.environment_name_enum import EnvironmentNameEnum
|
||||
from cpl_core.type import T
|
||||
from cpl_core.type import T, R
|
||||
from cpl_core.utils.json_processor import JSONProcessor
|
||||
|
||||
|
||||
@ -296,7 +296,7 @@ class Configuration(ConfigurationABC):
|
||||
|
||||
self.add_configuration(sub, configuration)
|
||||
|
||||
def add_configuration(self, key_type: Type[T], value: any):
|
||||
def add_configuration(self, key_type: T, value: any):
|
||||
self._config[key_type] = value
|
||||
|
||||
def create_console_argument(
|
||||
@ -316,7 +316,7 @@ class Configuration(ConfigurationABC):
|
||||
for arg in self._argument_types:
|
||||
call(arg)
|
||||
|
||||
def get_configuration(self, search_type: T) -> Optional[T]:
|
||||
def get_configuration(self, search_type: T) -> Optional[R]:
|
||||
if type(search_type) is str:
|
||||
if search_type == ConfigurationVariableNameEnum.environment.value:
|
||||
return self._application_environment.environment_name
|
||||
@ -357,7 +357,7 @@ class Configuration(ConfigurationABC):
|
||||
if exe.validators is not None:
|
||||
abort = False
|
||||
for validator_type in exe.validators:
|
||||
validator: ValidatorABC = services.get_service(validator_type)
|
||||
validator = services.get_service(validator_type)
|
||||
result = validator.validate()
|
||||
abort = not result
|
||||
if abort:
|
||||
@ -366,7 +366,7 @@ class Configuration(ConfigurationABC):
|
||||
if abort:
|
||||
sys.exit()
|
||||
|
||||
cmd: ArgumentExecutableABC = services.get_service(exe.executable_type)
|
||||
cmd = services.get_service(exe.executable_type)
|
||||
self._handle_pre_or_post_executables(True, exe, services)
|
||||
self._set_variable("ACTIVE_EXECUTABLE", exe.name)
|
||||
args = self.get_configuration("ARGS")
|
||||
|
@ -6,7 +6,7 @@ from cpl_core.configuration.configuration_model_abc import ConfigurationModelABC
|
||||
from cpl_core.configuration.argument_abc import ArgumentABC
|
||||
from cpl_core.configuration.argument_type_enum import ArgumentTypeEnum
|
||||
from cpl_core.environment.application_environment_abc import ApplicationEnvironmentABC
|
||||
from cpl_core.type import T
|
||||
from cpl_core.type import T, R
|
||||
|
||||
|
||||
class ConfigurationABC(ABC):
|
||||
@ -77,11 +77,11 @@ class ConfigurationABC(ABC):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def add_configuration(self, key_type: Type[T], value: any):
|
||||
def add_configuration(self, key_type: T, value: any):
|
||||
r"""Add configuration object
|
||||
|
||||
Parameter:
|
||||
key_type: Union[:class:`str`, :class:`type`]
|
||||
key_type: :class:`cpl_core.type.T`
|
||||
Type of the value
|
||||
value: any
|
||||
Object of the value
|
||||
@ -124,11 +124,11 @@ class ConfigurationABC(ABC):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_configuration(self, search_type: Type[T]) -> Optional[T]:
|
||||
def get_configuration(self, search_type: T) -> Optional[R]:
|
||||
r"""Returns value from configuration by given type
|
||||
|
||||
Parameter:
|
||||
search_type: Union[:class:`str`, Type[:class:`cpl_core.configuration.configuration_model_abc.ConfigurationModelABC`]]
|
||||
search_type: :class:`cpl_core.type.T`
|
||||
Type to search for
|
||||
|
||||
Returns:
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.console"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -28,4 +28,4 @@ from .foreground_color_enum import ForegroundColorEnum
|
||||
from .spinner_thread import SpinnerThread
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -3,8 +3,8 @@
|
||||
"Name": "cpl-core",
|
||||
"Version": {
|
||||
"Major": "2023",
|
||||
"Minor": "4",
|
||||
"Micro": "0.post5"
|
||||
"Minor": "10",
|
||||
"Micro": "0"
|
||||
},
|
||||
"Author": "Sven Heidemann",
|
||||
"AuthorEmail": "sven.heidemann@sh-edraft.de",
|
||||
@ -18,7 +18,6 @@
|
||||
"Dependencies": [
|
||||
"art>=5.9",
|
||||
"colorama>=0.4.6",
|
||||
"mysql-connector>=2.2.9",
|
||||
"psutil>=5.9.4",
|
||||
"packaging>=23.0",
|
||||
"pynput>=1.7.6",
|
||||
@ -26,7 +25,8 @@
|
||||
"tabulate>=0.9.0",
|
||||
"termcolor>=2.2.0",
|
||||
"watchdog>=3.0.0",
|
||||
"wheel>=0.40.0"
|
||||
"wheel>=0.40.0",
|
||||
"mysql-connector-python==8.1.0"
|
||||
],
|
||||
"DevDependencies": [
|
||||
"Sphinx==5.0.2",
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.database"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -26,4 +26,4 @@ from .database_settings import DatabaseSettings
|
||||
from .table_abc import TableABC
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.database.connection"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -25,4 +25,4 @@ from .database_connection import DatabaseConnection
|
||||
from .database_connection_abc import DatabaseConnectionABC
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -25,27 +25,27 @@ class DatabaseConnection(DatabaseConnectionABC):
|
||||
def cursor(self) -> MySQLCursorBuffered:
|
||||
return self._cursor
|
||||
|
||||
def connect(self, database_settings: DatabaseSettings):
|
||||
def connect(self, settings: DatabaseSettings):
|
||||
connection = sql.connect(
|
||||
host=database_settings.host,
|
||||
port=database_settings.port,
|
||||
user=database_settings.user,
|
||||
passwd=CredentialManager.decrypt(database_settings.password),
|
||||
charset=database_settings.charset,
|
||||
use_unicode=database_settings.use_unicode,
|
||||
buffered=database_settings.buffered,
|
||||
auth_plugin=database_settings.auth_plugin,
|
||||
host=settings.host,
|
||||
port=settings.port,
|
||||
user=settings.user,
|
||||
passwd=CredentialManager.decrypt(settings.password),
|
||||
charset=settings.charset,
|
||||
use_unicode=settings.use_unicode,
|
||||
buffered=settings.buffered,
|
||||
auth_plugin=settings.auth_plugin,
|
||||
)
|
||||
connection.cursor().execute(f"CREATE DATABASE IF NOT EXISTS `{database_settings.database}`;")
|
||||
connection.cursor().execute(f"CREATE DATABASE IF NOT EXISTS `{settings.database}`;")
|
||||
self._database = sql.connect(
|
||||
host=database_settings.host,
|
||||
port=database_settings.port,
|
||||
user=database_settings.user,
|
||||
passwd=CredentialManager.decrypt(database_settings.password),
|
||||
db=database_settings.database,
|
||||
charset=database_settings.charset,
|
||||
use_unicode=database_settings.use_unicode,
|
||||
buffered=database_settings.buffered,
|
||||
auth_plugin=database_settings.auth_plugin,
|
||||
host=settings.host,
|
||||
port=settings.port,
|
||||
user=settings.user,
|
||||
passwd=CredentialManager.decrypt(settings.password),
|
||||
db=settings.database,
|
||||
charset=settings.charset,
|
||||
use_unicode=settings.use_unicode,
|
||||
buffered=settings.buffered,
|
||||
auth_plugin=settings.auth_plugin,
|
||||
)
|
||||
self._cursor = self._database.cursor()
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.database.context"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -25,4 +25,4 @@ from .database_context import DatabaseContext
|
||||
from .database_context_abc import DatabaseContextABC
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -13,10 +13,10 @@ class DatabaseSettings(ConfigurationModelABC):
|
||||
user: str = None,
|
||||
password: str = None,
|
||||
database: str = None,
|
||||
charset: str = None,
|
||||
use_unicode: bool = None,
|
||||
buffered: bool = None,
|
||||
auth_plugin: str = None,
|
||||
charset: str = "utf8mb4",
|
||||
use_unicode: bool = False,
|
||||
buffered: bool = False,
|
||||
auth_plugin: str = "caching_sha2_password",
|
||||
):
|
||||
ConfigurationModelABC.__init__(self)
|
||||
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.dependency_injection"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -31,4 +31,4 @@ from .service_provider import ServiceProvider
|
||||
from .service_provider_abc import ServiceProviderABC
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -61,15 +61,15 @@ class ServiceCollection(ServiceCollectionABC):
|
||||
self.add_transient(PipeABC, pipe)
|
||||
return self
|
||||
|
||||
def add_singleton(self, service_type: Type[T], service: T = None):
|
||||
def add_singleton(self, service_type: T, service: T = None):
|
||||
self._add_descriptor_by_lifetime(service_type, ServiceLifetimeEnum.singleton, service)
|
||||
return self
|
||||
|
||||
def add_scoped(self, service_type: Type[T], service: Callable = None):
|
||||
def add_scoped(self, service_type: T, service: T = None):
|
||||
self._add_descriptor_by_lifetime(service_type, ServiceLifetimeEnum.scoped, service)
|
||||
return self
|
||||
|
||||
def add_transient(self, service_type: Type[T], service: T = None):
|
||||
def add_transient(self, service_type: T, service: T = None):
|
||||
self._add_descriptor_by_lifetime(service_type, ServiceLifetimeEnum.transient, service)
|
||||
return self
|
||||
|
||||
|
@ -46,7 +46,7 @@ class ServiceCollectionABC(ABC):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def add_transient(self, service_type: Type[T], service: T = None) -> "ServiceCollectionABC":
|
||||
def add_transient(self, service_type: T, service: T = None) -> "ServiceCollectionABC":
|
||||
r"""Adds a service with transient lifetime
|
||||
|
||||
Parameter:
|
||||
@ -61,7 +61,7 @@ class ServiceCollectionABC(ABC):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def add_scoped(self, service_type: Type[T], service: T = None) -> "ServiceCollectionABC":
|
||||
def add_scoped(self, service_type: T, service: T = None) -> "ServiceCollectionABC":
|
||||
r"""Adds a service with scoped lifetime
|
||||
|
||||
Parameter:
|
||||
@ -76,7 +76,7 @@ class ServiceCollectionABC(ABC):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def add_singleton(self, service_type: Type[T], service: T = None) -> "ServiceCollectionABC":
|
||||
def add_singleton(self, service_type: T, service: T = None) -> "ServiceCollectionABC":
|
||||
r"""Adds a service with singleton lifetime
|
||||
|
||||
Parameter:
|
||||
|
@ -12,7 +12,7 @@ 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.application_environment_abc import ApplicationEnvironmentABC
|
||||
from cpl_core.type import T
|
||||
from cpl_core.type import T, R
|
||||
|
||||
|
||||
class ServiceProvider(ServiceProviderABC):
|
||||
@ -80,7 +80,7 @@ class ServiceProvider(ServiceProviderABC):
|
||||
|
||||
return implementations
|
||||
|
||||
def build_by_signature(self, sig: Signature) -> list[T]:
|
||||
def build_by_signature(self, sig: Signature) -> list[R]:
|
||||
params = []
|
||||
for param in sig.parameters.items():
|
||||
parameter = param[1]
|
||||
@ -138,7 +138,7 @@ class ServiceProvider(ServiceProviderABC):
|
||||
sb = ScopeBuilder(ServiceProvider(descriptors, self._configuration, self._database_context))
|
||||
return sb.build()
|
||||
|
||||
def get_service(self, service_type: typing.Type[T], *args, **kwargs) -> Optional[T]:
|
||||
def get_service(self, service_type: T, *args, **kwargs) -> Optional[R]:
|
||||
result = self._find_service(service_type)
|
||||
|
||||
if result is None:
|
||||
@ -157,12 +157,12 @@ class ServiceProvider(ServiceProviderABC):
|
||||
|
||||
return implementation
|
||||
|
||||
def get_services(self, service_type: typing.Type[T], *args, **kwargs) -> list[Optional[T]]:
|
||||
def get_services(self, service_type: T, *args, **kwargs) -> list[Optional[R]]:
|
||||
implementations = []
|
||||
|
||||
if typing.get_origin(service_type) != list:
|
||||
raise Exception(f"Invalid type {service_type}! Expected list of type")
|
||||
if typing.get_origin(service_type) == list:
|
||||
raise Exception(f"Invalid type {service_type}! Expected single type not list of type")
|
||||
|
||||
implementations.extend(self._get_services(typing.get_args(service_type)[0]))
|
||||
implementations.extend(self._get_services(service_type))
|
||||
|
||||
return implementations
|
||||
|
@ -4,7 +4,7 @@ from inspect import Signature, signature
|
||||
from typing import Optional, Type
|
||||
|
||||
from cpl_core.dependency_injection.scope_abc import ScopeABC
|
||||
from cpl_core.type import T
|
||||
from cpl_core.type import T, R
|
||||
|
||||
|
||||
class ServiceProviderABC(ABC):
|
||||
@ -21,7 +21,7 @@ class ServiceProviderABC(ABC):
|
||||
cls._provider = provider
|
||||
|
||||
@abstractmethod
|
||||
def build_by_signature(self, sig: Signature) -> list[T]:
|
||||
def build_by_signature(self, sig: Signature) -> list[R]:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
@ -61,7 +61,7 @@ class ServiceProviderABC(ABC):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_service(self, instance_type: Type[T], *args, **kwargs) -> Optional[T]:
|
||||
def get_service(self, instance_type: T, *args, **kwargs) -> Optional[R]:
|
||||
r"""Returns instance of given type
|
||||
|
||||
Parameter
|
||||
@ -76,12 +76,12 @@ class ServiceProviderABC(ABC):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_services(self, service_type: Type[T], *args, **kwargs) -> list[Optional[T]]:
|
||||
def get_services(self, service_type: T, *args, **kwargs) -> list[Optional[R]]:
|
||||
r"""Returns instance of given type
|
||||
|
||||
Parameter
|
||||
---------
|
||||
instance_type: :class:`cpl_core.type.T`
|
||||
service_type: :class:`cpl_core.type.T`
|
||||
The type of the searched instance
|
||||
|
||||
Returns
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.environment"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -26,4 +26,4 @@ from .environment_name_enum import EnvironmentNameEnum
|
||||
from .application_environment import ApplicationEnvironment
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.logging"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -28,4 +28,4 @@ from .logging_settings import LoggingSettings
|
||||
from .logging_settings_name_enum import LoggingSettingsNameEnum
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.mailing"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -28,4 +28,4 @@ from .email_client_settings import EMailClientSettings
|
||||
from .email_client_settings_name_enum import EMailClientSettingsNameEnum
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.pipes"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -26,4 +26,4 @@ from .ip_address_pipe import IPAddressPipe
|
||||
from .pipe_abc import PipeABC
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.time"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -25,4 +25,4 @@ from .time_format_settings import TimeFormatSettings
|
||||
from .time_format_settings_names_enum import TimeFormatSettingsNamesEnum
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -1,3 +1,4 @@
|
||||
from typing import TypeVar
|
||||
|
||||
T = TypeVar("T")
|
||||
R = TypeVar("R")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_core.utils"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2020 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post5"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -26,4 +26,4 @@ from .string import String
|
||||
from .pip import Pip
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post5")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_discord"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post3"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -23,4 +23,4 @@ from collections import namedtuple
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post3")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_discord"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post3"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -59,4 +59,4 @@ def get_discord_collection(services: "ServiceCollectionABC") -> "DiscordCollecti
|
||||
# build-ignore-end
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post3")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_discord.application"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post3"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -24,4 +24,4 @@ from collections import namedtuple
|
||||
from .discord_bot_application_abc import DiscordBotApplicationABC
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post3")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_discord.command"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post3"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -25,4 +25,4 @@ from .discord_command_abc import DiscordCommandABC
|
||||
from .discord_commands_meta import DiscordCogMeta
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post3")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_discord.configuration"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post3"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -24,4 +24,4 @@ from collections import namedtuple
|
||||
from .discord_bot_settings import DiscordBotSettings
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post3")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_discord.container"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post3"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -31,4 +31,4 @@ from .thread import Thread
|
||||
from .voice_channel import VoiceChannel
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post3")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -3,8 +3,8 @@
|
||||
"Name": "cpl-discord",
|
||||
"Version": {
|
||||
"Major": "2023",
|
||||
"Minor": "4",
|
||||
"Micro": "0.post3"
|
||||
"Minor": "10",
|
||||
"Micro": "0"
|
||||
},
|
||||
"Author": "Sven Heidemann",
|
||||
"AuthorEmail": "sven.heidemann@sh-edraft.de",
|
||||
@ -16,9 +16,9 @@
|
||||
"LicenseName": "MIT",
|
||||
"LicenseDescription": "MIT, see LICENSE for more details.",
|
||||
"Dependencies": [
|
||||
"cpl-core>=2023.4.0.post2",
|
||||
"cpl-core>=2023.10.0",
|
||||
"discord.py>=2.3.0",
|
||||
"cpl-query>=2023.4.0.post1"
|
||||
"cpl-query>=2023.10.0"
|
||||
],
|
||||
"DevDependencies": [
|
||||
"cpl-cli>=2023.4.0.post3"
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_discord.events"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post3"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -69,4 +69,4 @@ from .on_voice_state_update_abc import OnVoiceStateUpdateABC
|
||||
from .on_webhooks_update_abc import OnWebhooksUpdateABC
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post3")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_discord.helper"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post3"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -24,4 +24,4 @@ from collections import namedtuple
|
||||
from .to_containers_converter import ToContainersConverter
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post3")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_discord.service"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post3"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -29,4 +29,4 @@ from .discord_service import DiscordService
|
||||
from .discord_service_abc import DiscordServiceABC
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post3")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -1,11 +1,11 @@
|
||||
from typing import Type, Optional
|
||||
from typing import Type
|
||||
|
||||
from cpl_core.console import Console, ForegroundColorEnum
|
||||
from cpl_core.dependency_injection import ServiceCollectionABC
|
||||
from cpl_discord.command.discord_command_abc import DiscordCommandABC
|
||||
from cpl_discord.discord_event_types_enum import DiscordEventTypesEnum
|
||||
from cpl_discord.service.command_error_handler_service import CommandErrorHandlerService
|
||||
from cpl_discord.service.discord_collection_abc import DiscordCollectionABC
|
||||
from cpl_query.extension.list import List
|
||||
|
||||
|
||||
class DiscordCollection(DiscordCollectionABC):
|
||||
@ -13,26 +13,21 @@ class DiscordCollection(DiscordCollectionABC):
|
||||
DiscordCollectionABC.__init__(self)
|
||||
|
||||
self._services = service_collection
|
||||
self._events: dict[str, List] = {}
|
||||
self._commands = List(type(DiscordCommandABC))
|
||||
|
||||
self.add_event(DiscordEventTypesEnum.on_command_error.value, CommandErrorHandlerService)
|
||||
|
||||
def add_command(self, _t: Type[DiscordCommandABC]):
|
||||
Console.set_foreground_color(ForegroundColorEnum.yellow)
|
||||
Console.write_line(
|
||||
f"{type(self).__name__}.add_command is deprecated. Instead, use ServiceCollection.add_transient directly!"
|
||||
)
|
||||
Console.color_reset()
|
||||
self._services.add_transient(DiscordCommandABC, _t)
|
||||
self._commands.append(_t)
|
||||
|
||||
def get_commands(self) -> List[DiscordCommandABC]:
|
||||
return self._commands
|
||||
|
||||
def add_event(self, _t_event: Type, _t: Type):
|
||||
Console.set_foreground_color(ForegroundColorEnum.yellow)
|
||||
Console.write_line(
|
||||
f"{type(self).__name__}.add_event is deprecated. Instead, use ServiceCollection.add_transient directly!"
|
||||
)
|
||||
Console.color_reset()
|
||||
self._services.add_transient(_t_event, _t)
|
||||
if _t_event not in self._events:
|
||||
self._events[_t_event] = List(type(_t_event))
|
||||
|
||||
self._events[_t_event].append(_t)
|
||||
|
||||
def get_events_by_base(self, _t_event: Type) -> Optional[List]:
|
||||
if _t_event not in self._events:
|
||||
return None
|
||||
return self._events[_t_event]
|
||||
|
@ -13,14 +13,6 @@ class DiscordCollectionABC(ABC):
|
||||
def add_command(self, _t: Type[DiscordCommandABC]):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_commands(self) -> List[DiscordCommandABC]:
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def add_event(self, _t_event: Type, _t: Type):
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def get_events_by_base(self, _t_event: Type):
|
||||
pass
|
||||
|
@ -4,11 +4,12 @@ from typing import Optional, Sequence, Union, Type
|
||||
import discord
|
||||
from discord import RawReactionActionEvent
|
||||
from discord.ext import commands
|
||||
from discord.ext.commands import Context, CommandError, Cog, Command
|
||||
from discord.ext.commands import Context, CommandError, Cog
|
||||
|
||||
from cpl_core.dependency_injection import ServiceProviderABC
|
||||
from cpl_core.logging import LoggerABC
|
||||
from cpl_core.utils import String
|
||||
from cpl_discord.command import DiscordCommandABC
|
||||
from cpl_discord.command.discord_commands_meta import DiscordCogMeta
|
||||
from cpl_discord.events.on_bulk_message_delete_abc import OnBulkMessageDeleteABC
|
||||
from cpl_discord.events.on_command_abc import OnCommandABC
|
||||
@ -66,25 +67,17 @@ from cpl_discord.events.on_typing_abc import OnTypingABC
|
||||
from cpl_discord.events.on_user_update_abc import OnUserUpdateABC
|
||||
from cpl_discord.events.on_voice_state_update_abc import OnVoiceStateUpdateABC
|
||||
from cpl_discord.events.on_webhooks_update_abc import OnWebhooksUpdateABC
|
||||
from cpl_discord.service.discord_collection_abc import DiscordCollectionABC
|
||||
from cpl_discord.service.discord_service_abc import DiscordServiceABC
|
||||
|
||||
|
||||
class DiscordService(DiscordServiceABC, commands.Cog, metaclass=DiscordCogMeta):
|
||||
def __init__(self, logger: LoggerABC, dc_collection: DiscordCollectionABC, services: ServiceProviderABC):
|
||||
def __init__(self, logger: LoggerABC, services: ServiceProviderABC):
|
||||
DiscordServiceABC.__init__(self)
|
||||
self._logger = logger
|
||||
self._collection = dc_collection
|
||||
self._services = services
|
||||
|
||||
async def _handle_event(self, event: Type, *args, **kwargs):
|
||||
event_collection = self._collection.get_events_by_base(event)
|
||||
if event_collection is None:
|
||||
return
|
||||
|
||||
for event_type in event_collection:
|
||||
event_instance = self._services.get_service(event_type)
|
||||
|
||||
for event_instance in self._services.get_services(event):
|
||||
func_name = event.__name__
|
||||
if func_name.endswith("ABC"):
|
||||
func_name = func_name.replace("ABC", "")
|
||||
@ -104,11 +97,10 @@ class DiscordService(DiscordServiceABC, commands.Cog, metaclass=DiscordCogMeta):
|
||||
self._logger.error(__name__, f"{type(self).__name__} initialization failed", e)
|
||||
|
||||
try:
|
||||
for command_type in self._collection.get_commands():
|
||||
self._logger.trace(__name__, f"Register command {command_type.__name__}")
|
||||
command: Cog = self._services.get_service(command_type)
|
||||
for command in self._services.get_services(DiscordCommandABC):
|
||||
self._logger.trace(__name__, f"Register command {type(command).__name__}")
|
||||
if command is None:
|
||||
self._logger.warn(__name__, f"Instance of {command_type.__name__} not found")
|
||||
self._logger.warn(__name__, f"Instance of {type(command).__name__} not found")
|
||||
continue
|
||||
await bot.add_cog(command)
|
||||
except Exception as e:
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_query"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2021 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post1"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -23,4 +23,4 @@ from collections import namedtuple
|
||||
# imports:
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post1")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_query.base"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2021 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post1"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -28,4 +28,4 @@ from .queryable_abc import QueryableABC
|
||||
from .sequence import Sequence
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post1")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -3,8 +3,8 @@
|
||||
"Name": "cpl-query",
|
||||
"Version": {
|
||||
"Major": "2023",
|
||||
"Minor": "4",
|
||||
"Micro": "0.post1"
|
||||
"Minor": "10",
|
||||
"Micro": "0"
|
||||
},
|
||||
"Author": "Sven Heidemann",
|
||||
"AuthorEmail": "sven.heidemann@sh-edraft.de",
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_query.enumerable"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2021 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post1"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -25,4 +25,4 @@ from .enumerable import Enumerable
|
||||
from .enumerable_abc import EnumerableABC
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post1")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_query.extension"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2021 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post1"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -24,4 +24,4 @@ from collections import namedtuple
|
||||
from .list import List
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post1")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -1,12 +1,10 @@
|
||||
from typing import Iterator
|
||||
|
||||
from cpl_query.iterable.iterable import Iterable
|
||||
|
||||
|
||||
class List(Iterable):
|
||||
r"""Implementation of :class: `cpl_query.extension.iterable.Iterable`"""
|
||||
|
||||
def __init__(self, t: type = None, values: Iterator = None):
|
||||
def __init__(self, t: type = None, values: Iterable = None):
|
||||
Iterable.__init__(self, t, values)
|
||||
|
||||
def __getitem__(self, *args):
|
||||
|
@ -15,7 +15,7 @@ __title__ = "cpl_query.iterable"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2021 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post1"
|
||||
__version__ = "2023.10.0"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -25,4 +25,4 @@ from .iterable_abc import IterableABC
|
||||
from .iterable import Iterable
|
||||
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post1")
|
||||
version_info = VersionInfo(major="2023", minor="10", micro="0")
|
||||
|
@ -11,11 +11,11 @@ CPL translation extension
|
||||
|
||||
"""
|
||||
|
||||
__title__ = 'cpl_translation'
|
||||
__author__ = 'Sven Heidemann'
|
||||
__license__ = 'MIT'
|
||||
__copyright__ = 'Copyright (c) 2022 - 2023 sh-edraft.de'
|
||||
__version__ = '2023.4.0.post1'
|
||||
__title__ = "cpl_translation"
|
||||
__author__ = "Sven Heidemann"
|
||||
__license__ = "MIT"
|
||||
__copyright__ = "Copyright (c) 2022 - 2023 sh-edraft.de"
|
||||
__version__ = "2023.4.0.post1"
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
@ -25,6 +25,7 @@ from .translate_pipe import TranslatePipe
|
||||
from .translation_service import TranslationService
|
||||
from .translation_service_abc import TranslationServiceABC
|
||||
from .translation_settings import TranslationSettings
|
||||
|
||||
# build-ignore
|
||||
|
||||
|
||||
@ -51,5 +52,5 @@ def init():
|
||||
init()
|
||||
# build-ignore-end
|
||||
|
||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
|
||||
version_info = VersionInfo(major='2023', minor='4', micro='0.post1')
|
||||
VersionInfo = namedtuple("VersionInfo", "major minor micro")
|
||||
version_info = VersionInfo(major="2023", minor="4", micro="0.post1")
|
||||
|
@ -20,7 +20,6 @@
|
||||
"Database": "sh_cpl",
|
||||
"Charset": "utf8mb4",
|
||||
"UseUnicode": "true",
|
||||
"Buffered": "true",
|
||||
"AuthPlugin": "mysql_native_password"
|
||||
"Buffered": "true"
|
||||
}
|
||||
}
|
@ -3,5 +3,5 @@ from cpl_core.database.context import DatabaseContext
|
||||
|
||||
|
||||
class DBContext(DatabaseContext):
|
||||
def __init__(self, db_settings: DatabaseSettings):
|
||||
DatabaseContext.__init__(self, db_settings)
|
||||
def __init__(self):
|
||||
DatabaseContext.__init__(self)
|
||||
|
@ -21,7 +21,6 @@ class Startup(StartupABC):
|
||||
) -> ConfigurationABC:
|
||||
configuration.add_environment_variables("PYTHON_")
|
||||
configuration.add_environment_variables("CPL_")
|
||||
configuration.parse_console_arguments()
|
||||
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)
|
||||
@ -34,6 +33,7 @@ class Startup(StartupABC):
|
||||
self, services: ServiceCollectionABC, environment: ApplicationEnvironmentABC
|
||||
) -> ServiceProviderABC:
|
||||
# Create and connect to database
|
||||
self._configuration.parse_console_arguments(services)
|
||||
db_settings: DatabaseSettings = self._configuration.get_configuration(DatabaseSettings)
|
||||
services.add_db_context(DBContext, db_settings)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user