2021.4 #19

Merged
edraft merged 237 commits from 2021.4 into master 2021-04-01 10:13:33 +02:00
23 changed files with 71 additions and 48 deletions
Showing only changes of commit e8538d751b - Show all commits

View File

@ -22,31 +22,30 @@
<select /> <select />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="7e2256bc-a6b8-4880-83a6-8b0e3372d0a4" name="Default Changelist" comment="Changed configuration to upper case"> <list default="true" id="7e2256bc-a6b8-4880-83a6-8b0e3372d0a4" name="Default Changelist" comment="Bugfixes">
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cpl.json" beforeDir="false" afterPath="$PROJECT_DIR$/cpl.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/application/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/application/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/application/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/application/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/application/application_abc.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/application/application_abc.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/application/application_host.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/application/application_host.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/application/application_host_abc.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/application/application_host_abc.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/application/startup_abc.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/application/startup_abc.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/configuration/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/configuration/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/configuration/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/configuration/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/console/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/console/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/console/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/console/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/database/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/database/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/database/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/database/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/database/connection/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/database/connection/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/database/connection/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/database/connection/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/database/context/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/database/context/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/database/context/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/database/context/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/dependency_injection/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/dependency_injection/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/dependency_injection/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/dependency_injection/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/dependency_injection/provide_state.py" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/dependency_injection/service_provider.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/dependency_injection/service_provider.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/dependency_injection/service_provider_base.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/dependency_injection/service_provider_abc.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/environment/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/environment/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/environment/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/environment/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/logging/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/logging/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/logging/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/logging/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/mailing/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/mailing/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/mailing/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/mailing/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/time/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/time/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/time/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/time/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl/utils/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/utils/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl/utils/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl/utils/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl_cli/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl_cli/init.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl_cli/command_handler.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl_cli/command_handler.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl_cli/command/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl_cli/command/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/cpl_cli/startup.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl_cli/startup.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl_cli/configuration/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl_cli/configuration/__init__.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/tests/startup.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/tests/startup.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl_cli/publish/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl_cli/publish/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl_cli/publish/publisher.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl_cli/publish/publisher.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/cpl_cli/templates/publish/setup.txt" beforeDir="false" afterPath="$PROJECT_DIR$/src/cpl_cli/templates/publish/setup.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/tests/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/tests/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/tests/db/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/tests/db/__init__.py" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -484,13 +483,6 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1605881914521</updated> <updated>1605881914521</updated>
</task> </task>
<task id="LOCAL-00058" summary="Changed deps">
<created>1608139239527</created>
<option name="number" value="00058" />
<option name="presentableId" value="LOCAL-00058" />
<option name="project" value="LOCAL" />
<updated>1608139239527</updated>
</task>
<task id="LOCAL-00059" summary="Bugfixes"> <task id="LOCAL-00059" summary="Bugfixes">
<created>1608139414722</created> <created>1608139414722</created>
<option name="number" value="00059" /> <option name="number" value="00059" />
@ -827,7 +819,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1615232966232</updated> <updated>1615232966232</updated>
</task> </task>
<option name="localTasksCounter" value="107" /> <task id="LOCAL-00107" summary="Bugfixes">
<created>1615236731026</created>
<option name="number" value="00107" />
<option name="presentableId" value="LOCAL-00107" />
<option name="project" value="LOCAL" />
<updated>1615236731026</updated>
</task>
<option name="localTasksCounter" value="108" />
<servers /> <servers />
</component> </component>
<component name="Vcs.Log.Tabs.Properties"> <component name="Vcs.Log.Tabs.Properties">
@ -843,7 +842,6 @@
<option name="oldMeFiltersMigrated" value="true" /> <option name="oldMeFiltersMigrated" value="true" />
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="Removed publish package" />
<MESSAGE value="Refactored code" /> <MESSAGE value="Refactored code" />
<MESSAGE value="Improved configuration" /> <MESSAGE value="Improved configuration" />
<MESSAGE value="Added cli application" /> <MESSAGE value="Added cli application" />
@ -868,7 +866,8 @@
<MESSAGE value="Bugfixes in build process" /> <MESSAGE value="Bugfixes in build process" />
<MESSAGE value="Changed copyright date" /> <MESSAGE value="Changed copyright date" />
<MESSAGE value="Changed configuration to upper case" /> <MESSAGE value="Changed configuration to upper case" />
<option name="LAST_COMMIT_MESSAGE" value="Changed configuration to upper case" /> <MESSAGE value="Bugfixes" />
<option name="LAST_COMMIT_MESSAGE" value="Bugfixes" />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager> <breakpoint-manager>

View File

@ -20,6 +20,12 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .application_abc import ApplicationABC
from .application_host import ApplicationHost
from .application_host_abc import ApplicationHostABC
from .application_runtime import ApplicationRuntime
from .application_runtime_abc import ApplicationRuntimeABC
from .startup_abc import StartupABC
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -6,7 +6,7 @@ from cpl.application.application_runtime_abc import ApplicationRuntimeABC
from cpl.application.startup_abc import StartupABC from cpl.application.startup_abc import StartupABC
from cpl.configuration.configuration_abc import ConfigurationABC from cpl.configuration.configuration_abc import ConfigurationABC
from cpl.console.console import Console from cpl.console.console import Console
from cpl.dependency_injection.service_provider_base import ServiceProviderABC from cpl.dependency_injection.service_provider_abc import ServiceProviderABC
class ApplicationABC(ABC): class ApplicationABC(ABC):

View File

@ -8,7 +8,7 @@ from cpl.configuration.configuration import Configuration
from cpl.configuration.configuration_abc import ConfigurationABC from cpl.configuration.configuration_abc import ConfigurationABC
from cpl.console.console import Console from cpl.console.console import Console
from cpl.dependency_injection.service_provider import ServiceProvider from cpl.dependency_injection.service_provider import ServiceProvider
from cpl.dependency_injection.service_provider_base import ServiceProviderABC from cpl.dependency_injection.service_provider_abc import ServiceProviderABC
class ApplicationHost(ApplicationHostABC): class ApplicationHost(ApplicationHostABC):

View File

@ -3,7 +3,7 @@ from collections import Callable
from cpl.application.application_runtime_abc import ApplicationRuntimeABC from cpl.application.application_runtime_abc import ApplicationRuntimeABC
from cpl.configuration.configuration_abc import ConfigurationABC from cpl.configuration.configuration_abc import ConfigurationABC
from cpl.dependency_injection.service_provider_base import ServiceProviderABC from cpl.dependency_injection.service_provider_abc import ServiceProviderABC
class ApplicationHostABC(ABC): class ApplicationHostABC(ABC):

View File

@ -2,7 +2,7 @@ from abc import ABC, abstractmethod
from cpl.application.application_host_abc import ApplicationHostABC from cpl.application.application_host_abc import ApplicationHostABC
from cpl.configuration.configuration_abc import ConfigurationABC from cpl.configuration.configuration_abc import ConfigurationABC
from cpl.dependency_injection.service_provider_base import ServiceProviderABC from cpl.dependency_injection.service_provider_abc import ServiceProviderABC
class StartupABC(ABC): class StartupABC(ABC):

View File

@ -20,6 +20,11 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .configuration import Configuration
from .configuration_abc import ConfigurationABC
from .configuration_model_abc import ConfigurationModelABC
from .configuration_variable_name import ConfigurationVariableName
from .console_argument import ConsoleArgument
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -20,6 +20,11 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .background_color import BackgroundColor
from .console import Console
from .console_call import ConsoleCall
from .foreground_color import ForegroundColor
from .spinner_thread import SpinnerThread
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -20,6 +20,9 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .database_model import DatabaseModel
from .database_settings import DatabaseSettings
from .database_settings_name import DatabaseSettingsName
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -20,6 +20,8 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .database_connection import DatabaseConnection
from .database_connection_abc import DatabaseConnectionABC
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -20,6 +20,8 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .database_context import DatabaseContext
from .database_context_abc import DatabaseContextABC
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -20,6 +20,9 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .service_abc import ServiceABC
from .service_provider import ServiceProvider
from .service_provider_abc import ServiceProviderABC
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -1,18 +0,0 @@
from typing import Type
from sh_edraft.service.base.service_base import ServiceBase
class ProvideState:
def __init__(self, service: Type[ServiceBase] = None, args: tuple = None):
self._service: Type[ServiceBase] = service
self._args: tuple = args
@property
def service(self):
return self._service
@property
def args(self) -> tuple:
return self._args

View File

@ -6,7 +6,7 @@ from cpl.application.application_runtime_abc import ApplicationRuntimeABC
from cpl.configuration.configuration_model_abc import ConfigurationModelABC from cpl.configuration.configuration_model_abc import ConfigurationModelABC
from cpl.database.context.database_context_abc import DatabaseContextABC from cpl.database.context.database_context_abc import DatabaseContextABC
from cpl.dependency_injection.service_abc import ServiceABC from cpl.dependency_injection.service_abc import ServiceABC
from cpl.dependency_injection.service_provider_base import ServiceProviderABC from cpl.dependency_injection.service_provider_abc import ServiceProviderABC
from cpl.environment.environment_abc import EnvironmentABC from cpl.environment.environment_abc import EnvironmentABC

View File

@ -20,6 +20,9 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .environment_abc import EnvironmentABC
from .environment_name import EnvironmentName
from .hosting_environment import HostingEnvironment
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -20,6 +20,11 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .logger import Logger
from .logger_abc import LoggerABC
from .logging_level import LoggingLevel
from .logging_settings import LoggingSettings
from .logging_settings_name import LoggingSettingsName
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -20,6 +20,11 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .email import EMail
from .email_client import EMailClient
from .email_client_abc import EMailClientABC
from .email_client_settings import EMailClientSettings
from .email_client_settings_name import EMailClientSettingsName
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -20,6 +20,8 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .time_format_settings import TimeFormatSettings
from .time_format_settings_names import TimeFormatSettingsNames
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -20,6 +20,7 @@ __version__ = '2021.4.1'
from collections import namedtuple from collections import namedtuple
# imports: # imports:
from .credential_manager import CredentialManager
VersionInfo = namedtuple('VersionInfo', 'major minor micro') VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2021, minor=4, micro=1) version_info = VersionInfo(major=2021, minor=4, micro=1)

View File

@ -1,6 +1,6 @@
from cpl.application.application_runtime_abc import ApplicationRuntimeABC from cpl.application.application_runtime_abc import ApplicationRuntimeABC
from cpl.dependency_injection.service_abc import ServiceABC from cpl.dependency_injection.service_abc import ServiceABC
from cpl.dependency_injection.service_provider_base import ServiceProviderABC from cpl.dependency_injection.service_provider_abc import ServiceProviderABC
from cpl_cli.command_model import CommandModel from cpl_cli.command_model import CommandModel

View File

@ -4,7 +4,7 @@ from cpl.application.application_host import ApplicationHost
from cpl.application.application_host_abc import ApplicationHostABC from cpl.application.application_host_abc import ApplicationHostABC
from cpl.application.startup_abc import StartupABC from cpl.application.startup_abc import StartupABC
from cpl.configuration.configuration_abc import ConfigurationABC from cpl.configuration.configuration_abc import ConfigurationABC
from cpl.dependency_injection.service_provider_base import ServiceProviderABC from cpl.dependency_injection.service_provider_abc import ServiceProviderABC
from cpl_cli.command.build import Build from cpl_cli.command.build import Build
from cpl_cli.command.publish import Publish from cpl_cli.command.publish import Publish
from cpl_cli.command_handler import CommandHandler from cpl_cli.command_handler import CommandHandler

View File

@ -6,7 +6,7 @@ from cpl.application.startup_abc import StartupABC
from cpl.configuration.configuration_abc import ConfigurationABC from cpl.configuration.configuration_abc import ConfigurationABC
from cpl.database.context.database_context import DatabaseContext from cpl.database.context.database_context import DatabaseContext
from cpl.database.database_settings import DatabaseSettings from cpl.database.database_settings import DatabaseSettings
from cpl.dependency_injection.service_provider_base import ServiceProviderABC from cpl.dependency_injection.service_provider_abc import ServiceProviderABC
from cpl.logging.logger import Logger from cpl.logging.logger import Logger
from cpl.logging.logger_abc import LoggerABC from cpl.logging.logger_abc import LoggerABC
from cpl.mailing.email_client import EMailClient from cpl.mailing.email_client import EMailClient