diff --git a/.gitignore b/.gitignore
index 6e1b1d68..7f0088a2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -130,5 +130,3 @@ dmypy.json
# IDE
.vscode/
-
-/src_old/
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index e53893e0..b48a5e45 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -22,211 +22,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -664,13 +462,6 @@
1605881914521
-
- 1607620265254
-
-
-
- 1607620265254
-
1607712129507
@@ -1007,7 +798,14 @@
1614372713621
-
+
+ 1614764872108
+
+
+
+ 1614764872108
+
+
@@ -1023,7 +821,6 @@
-
@@ -1048,7 +845,8 @@
-
+
+
diff --git a/src_old/MANIFEST.in b/src_old/MANIFEST.in
deleted file mode 100644
index cb32f474..00000000
--- a/src_old/MANIFEST.in
+++ /dev/null
@@ -1,2 +0,0 @@
-include ../ README
-recursive-include sh_edraft *.txt
\ No newline at end of file
diff --git a/src_old/setup.py b/src_old/setup.py
deleted file mode 100644
index a2e40b12..00000000
--- a/src_old/setup.py
+++ /dev/null
@@ -1,29 +0,0 @@
-import setuptools
-
-setuptools.setup(
- name='sh_edraft',
- version='2020.0.1',
- packages=setuptools.find_packages(exclude=["tests*"]),
- url='https://www.sh-edraft.de',
- license='MIT',
- author='Sven Heidemann',
- author_email='edraft.sh@gmail.com',
- include_package_data=True,
- description='sh-edraft python common lib',
- python_requires='>=3.8',
- install_requires=[
- 'discord.py',
- 'flask',
- 'mysql-connector',
- 'SQLAlchemy',
- 'termcolor',
- 'pyfiglet',
- 'tabulate',
- 'smtplib'
- ],
- entry_points={
- 'console_scripts': [
- 'cpl = sh_edraft.cli.cpl_cli.cli:main'
- ]
- }
-)
diff --git a/src_old/sh_edraft/__init__.py b/src_old/sh_edraft/__init__.py
deleted file mode 100644
index a74b7597..00000000
--- a/src_old/sh_edraft/__init__.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft common python library
-~~~~~~~~~~~~~~~~~~~
-
-Library to share common classes and models used at sh-edraft.de
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/coding/__init__.py b/src_old/sh_edraft/coding/__init__.py
deleted file mode 100644
index 74fd8f6b..00000000
--- a/src_old/sh_edraft/coding/__init__.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.coding
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.coding'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/coding/model/__init__.py b/src_old/sh_edraft/coding/model/__init__.py
deleted file mode 100644
index ccdd0f5a..00000000
--- a/src_old/sh_edraft/coding/model/__init__.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.coding.model
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.coding.model'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .version import Version
-from .version_enum import VersionEnum
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/coding/model/version.py b/src_old/sh_edraft/coding/model/version.py
deleted file mode 100644
index be2d5a3d..00000000
--- a/src_old/sh_edraft/coding/model/version.py
+++ /dev/null
@@ -1,46 +0,0 @@
-from typing import Optional
-
-from sh_edraft.coding.model.version_enum import VersionEnum
-from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
-
-
-class Version(ConfigurationModelBase):
-
- def __init__(
- self,
- major: int = None,
- minor: int = None,
- micro: float = None
- ):
- ConfigurationModelBase.__init__(self)
-
- self._major: Optional[int] = major
- self._minor: Optional[int] = minor
- self._micro: Optional[int] = micro
-
- @property
- def major(self) -> int:
- return self._major
-
- @property
- def minor(self) -> int:
- return self._minor
-
- @property
- def micro(self) -> float:
- return self._micro
-
- def to_str(self) -> str:
- return f'{self._major}.{self._minor}.{self._micro}'
-
- def from_dict(self, settings: dict):
- self._major = int(settings[VersionEnum.Major.value])
- self._minor = int(settings[VersionEnum.Minor.value])
- self._micro = int(settings[VersionEnum.Micro.value])
-
- def to_dict(self) -> dict:
- return {
- VersionEnum.Major.value: self._major,
- VersionEnum.Minor.value: self._minor,
- VersionEnum.Micro.value: self._micro
- }
diff --git a/src_old/sh_edraft/coding/model/version_enum.py b/src_old/sh_edraft/coding/model/version_enum.py
deleted file mode 100644
index 8c294c1e..00000000
--- a/src_old/sh_edraft/coding/model/version_enum.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from enum import Enum
-
-
-class VersionEnum(Enum):
-
- Major = 'Major'
- Minor = 'Minor'
- Micro = 'Micro'
diff --git a/src_old/sh_edraft/configuration/__init__.py b/src_old/sh_edraft/configuration/__init__.py
deleted file mode 100644
index 21979d7f..00000000
--- a/src_old/sh_edraft/configuration/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.configuration
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.configuration'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .configuration import Configuration
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/configuration/base/__init__.py b/src_old/sh_edraft/configuration/base/__init__.py
deleted file mode 100644
index 28444895..00000000
--- a/src_old/sh_edraft/configuration/base/__init__.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.configuration.base
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.configuration.base'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .configuration_base import ConfigurationBase
-from .configuration_model_base import ConfigurationModelBase
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/configuration/base/configuration_base.py b/src_old/sh_edraft/configuration/base/configuration_base.py
deleted file mode 100644
index bf44a8c1..00000000
--- a/src_old/sh_edraft/configuration/base/configuration_base.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from abc import abstractmethod, ABC
-from collections import Callable
-from typing import Type
-
-from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
-from sh_edraft.environment.base.environment_base import EnvironmentBase
-
-
-class ConfigurationBase(ABC):
-
- @abstractmethod
- def __init__(self): pass
-
- @property
- @abstractmethod
- def environment(self) -> EnvironmentBase: pass
-
- @abstractmethod
- def add_environment_variables(self, prefix: str): pass
-
- @abstractmethod
- def add_argument_variables(self): pass
-
- @abstractmethod
- def add_json_file(self, name: str, optional: bool = None): pass
-
- @abstractmethod
- def add_configuration(self, key_type: type, value: object): pass
-
- @abstractmethod
- def get_configuration(self, search_type: Type[ConfigurationModelBase]) -> Callable[ConfigurationModelBase]: pass
-
- @abstractmethod
- def create(self): pass
diff --git a/src_old/sh_edraft/configuration/base/configuration_model_base.py b/src_old/sh_edraft/configuration/base/configuration_model_base.py
deleted file mode 100644
index 9772a648..00000000
--- a/src_old/sh_edraft/configuration/base/configuration_model_base.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from abc import ABC, abstractmethod
-
-
-class ConfigurationModelBase(ABC):
-
- @abstractmethod
- def __init__(self): pass
-
- @abstractmethod
- def from_dict(self, settings: dict): pass
diff --git a/src_old/sh_edraft/configuration/configuration.py b/src_old/sh_edraft/configuration/configuration.py
deleted file mode 100644
index f4007ada..00000000
--- a/src_old/sh_edraft/configuration/configuration.py
+++ /dev/null
@@ -1,121 +0,0 @@
-import json
-import os
-import sys
-
-from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
-from sh_edraft.configuration.base.configuration_base import ConfigurationBase
-from sh_edraft.configuration.model.configuration_variable_name import ConfigurationVariableName
-from sh_edraft.environment.base.environment_base import EnvironmentBase
-from sh_edraft.environment.hosting_environment import HostingEnvironment
-from sh_edraft.environment.model.environment_name import EnvironmentName
-from sh_edraft.console.console import Console
-from sh_edraft.console.model import ForegroundColor
-
-
-class Configuration(ConfigurationBase):
-
- def __init__(self):
- ConfigurationBase.__init__(self)
-
- self._hosting_environment = HostingEnvironment()
- self._config: dict[type, ConfigurationModelBase] = {}
-
- @property
- def environment(self) -> EnvironmentBase:
- return self._hosting_environment
-
- @staticmethod
- def _print_info(name: str, message: str):
- Console.set_foreground_color(ForegroundColor.green)
- Console.write_line(f'[{name}] {message}')
- Console.set_foreground_color(ForegroundColor.default)
-
- @staticmethod
- def _print_warn(name: str, message: str):
- Console.set_foreground_color(ForegroundColor.yellow)
- Console.write_line(f'[{name}] {message}')
- Console.set_foreground_color(ForegroundColor.default)
-
- @staticmethod
- def _print_error(name: str, message: str):
- Console.set_foreground_color(ForegroundColor.red)
- Console.write_line(f'[{name}] {message}')
- Console.set_foreground_color(ForegroundColor.default)
-
- def _set_variable(self, name: str, value: str):
- if name == ConfigurationVariableName.environment.value:
- self._hosting_environment.environment_name = EnvironmentName(value)
-
- elif name == ConfigurationVariableName.name.value:
- self._hosting_environment.application_name = value
-
- elif name == ConfigurationVariableName.customer.value:
- self._hosting_environment.customer = value
-
- def add_environment_variables(self, prefix: str):
- for variable in ConfigurationVariableName.to_list():
- var_name = f'{prefix}{variable}'
- if var_name in [key.upper() for key in os.environ.keys()]:
- self._set_variable(variable, os.environ[var_name])
-
- def add_argument_variables(self):
- for arg in sys.argv[1:]:
- try:
- argument = arg.split('--')[1].split('=')[0].upper()
- value = arg.split('=')[1]
-
- if argument not in ConfigurationVariableName.to_list():
- raise Exception(f'Invalid argument name: {argument}')
-
- self._set_variable(argument, value)
- except Exception as e:
- self._print_error(__name__, f'Invalid argument: {arg} -> {e}')
- exit()
-
- def add_json_file(self, name: str, optional: bool = None):
- if self._hosting_environment.content_root_path.endswith('/') and not name.startswith('/'):
- file_path = f'{self._hosting_environment.content_root_path}{name}'
- else:
- file_path = f'{self._hosting_environment.content_root_path}/{name}'
-
- if not os.path.isfile(file_path):
- if not optional:
- self._print_error(__name__, f'File not found: {file_path}')
- exit()
-
- self._print_warn(__name__, f'Not Loaded config file: {file_path}')
- return None
-
- config_from_file = self._load_json_file(file_path)
- for sub in ConfigurationModelBase.__subclasses__():
- for key, value in config_from_file.items():
- if sub.__name__ == key:
- configuration = sub()
- configuration.from_dict(value)
- self.add_configuration(sub, configuration)
-
- def _load_json_file(self, file: str) -> dict:
- try:
- # open config file, create if not exists
- with open(file, encoding='utf-8') as cfg:
- # load json
- json_cfg = json.load(cfg)
- self._print_info(__name__, f'Loaded config file: {file}')
- return json_cfg
- except Exception as e:
- self._print_error(__name__, f'Cannot load config file: {file}! -> {e}')
- return {}
-
- def add_configuration(self, key_type: type, value: ConfigurationModelBase):
- self._config[key_type] = value
-
- def get_configuration(self, search_type: type) -> ConfigurationModelBase:
- if search_type not in self._config:
- raise Exception(f'Config model by type {search_type} not found')
-
- for config_model in self._config:
- if config_model == search_type:
- return self._config[config_model]
-
- def create(self):
- pass
diff --git a/src_old/sh_edraft/configuration/model/__init__.py b/src_old/sh_edraft/configuration/model/__init__.py
deleted file mode 100644
index ae7cc417..00000000
--- a/src_old/sh_edraft/configuration/model/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.configuration.model
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.configuration.model'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .configuration_variable_name import ConfigurationVariableName
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/configuration/model/configuration_variable_name.py b/src_old/sh_edraft/configuration/model/configuration_variable_name.py
deleted file mode 100644
index c89deb88..00000000
--- a/src_old/sh_edraft/configuration/model/configuration_variable_name.py
+++ /dev/null
@@ -1,12 +0,0 @@
-from enum import Enum
-
-
-class ConfigurationVariableName(Enum):
-
- environment = 'ENVIRONMENT'
- name = 'NAME'
- customer = 'CUSTOMER'
-
- @staticmethod
- def to_list():
- return [var.value for var in ConfigurationVariableName]
diff --git a/src_old/sh_edraft/console/__init__.py b/src_old/sh_edraft/console/__init__.py
deleted file mode 100644
index 632019e8..00000000
--- a/src_old/sh_edraft/console/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.console
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.console'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .console import Console
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/console/console.py b/src_old/sh_edraft/console/console.py
deleted file mode 100644
index 14964866..00000000
--- a/src_old/sh_edraft/console/console.py
+++ /dev/null
@@ -1,205 +0,0 @@
-import os
-from typing import Union, Optional
-
-import pyfiglet
-from tabulate import tabulate
-from termcolor import colored
-
-from sh_edraft.console.model.background_color import BackgroundColor
-from sh_edraft.console.model.foreground_color import ForegroundColor
-
-
-class Console:
- _is_first_write = True
-
- _background_color: BackgroundColor = BackgroundColor.default
- _foreground_color: ForegroundColor = ForegroundColor.default
- _x: Optional[int] = None
- _y: Optional[int] = None
- _disabled: bool = False
-
- """
- Properties
- """
-
- @classmethod
- @property
- def background_color(cls) -> str:
- return str(cls._background_color.value)
-
- @classmethod
- @property
- def foreground_color(cls) -> str:
- return str(cls._foreground_color.value)
-
- """
- Settings
- """
-
- @classmethod
- def set_background_color(cls, color: Union[BackgroundColor, str]):
- if type(color) is str:
- cls._background_color = BackgroundColor[color]
- else:
- cls._background_color = color
-
- @classmethod
- def set_foreground_color(cls, color: Union[ForegroundColor, str]):
-
- if type(color) is str:
- cls._foreground_color = ForegroundColor[color]
- else:
- cls._foreground_color = color
-
- @classmethod
- def reset_cursor_position(cls):
- cls._x = None
- cls._y = None
-
- @classmethod
- def set_cursor_position(cls, x: int, y: int):
- cls._x = x
- cls._y = y
-
- """
- Useful protected methods
- """
-
- @classmethod
- def _output(cls, string: str, x: int = None, y: int = None, end='\n'):
- if cls._is_first_write:
- cls._is_first_write = False
-
- args = []
- colored_args = []
-
- if x is not None and y is not None:
- args.append(f'\033[{x};{y}H')
- elif cls._x is not None and cls._y is not None:
- args.append(f'\033[{cls._x};{cls._y}H')
-
- colored_args.append(string)
- if cls._foreground_color != ForegroundColor.default and cls._background_color == BackgroundColor.default:
- colored_args.append(cls._foreground_color.value)
- elif cls._foreground_color == ForegroundColor.default and cls._background_color != BackgroundColor.default:
- colored_args.append(cls._background_color.value)
- elif cls._foreground_color != ForegroundColor.default and cls._background_color != BackgroundColor.default:
- colored_args.append(cls._foreground_color.value)
- colored_args.append(cls._background_color.value)
-
- args.append(colored(*colored_args))
- print(*args, end=end)
-
- """
- Useful public methods
- """
-
- @classmethod
- def banner(cls, string: str):
- if cls._disabled:
- return
-
- ascii_banner = pyfiglet.figlet_format(string)
- cls.write_line(ascii_banner)
-
- @classmethod
- def clear(cls):
- os.system('cls' if os.name == 'nt' else 'clear')
-
- @classmethod
- def close(cls):
- if cls._disabled:
- return
-
- Console.reset()
- Console.write('\n\n\nPress any key to continue...')
- Console.read_line()
- exit()
-
- @classmethod
- def disable(cls):
- cls._disabled = True
-
- @classmethod
- def error(cls, string: str, tb: str = None):
- if cls._disabled:
- return
-
- cls.set_foreground_color('red')
- if tb is not None:
- cls.write_line(f'{string} -> {tb}')
- else:
- cls.write_line(string)
- cls.set_foreground_color('default')
-
- @classmethod
- def enable(cls):
- cls._disabled = False
-
- @classmethod
- def read(cls, output: str = None) -> str:
- if output is not None:
- cls.write(output)
-
- return input()[0]
-
- @classmethod
- def read_line(cls, output: str = None) -> str:
- if cls._disabled:
- return ''
-
- if output is not None:
- cls.write(output)
-
- return input()
-
- @classmethod
- def reset(cls):
- cls._background_color = BackgroundColor.default
- cls._foreground_color = ForegroundColor.default
-
- @classmethod
- def table(cls, header: list[str], values: list[list[str]]):
- if cls._disabled:
- return
-
- table = tabulate(values, headers=header)
-
- Console.write_line(table)
- Console.write('\n')
-
- @classmethod
- def write(cls, *args):
- if cls._disabled:
- return
-
- string = ' '.join(map(str, args))
- cls._output(string, end='')
-
- @classmethod
- def write_at(cls, x: int, y: int, *args):
- if cls._disabled:
- return
-
- string = ' '.join(map(str, args))
- cls._output(string, x, y, end='')
-
- @classmethod
- def write_line(cls, *args):
- if cls._disabled:
- return
-
- string = ' '.join(map(str, args))
- if not cls._is_first_write:
- cls._output('')
- cls._output(string, end='')
-
- @classmethod
- def write_line_at(cls, x: int, y: int, *args):
- if cls._disabled:
- return
-
- string = ' '.join(map(str, args))
- if not cls._is_first_write:
- cls._output('', end='')
- cls._output(string, x, y, end='')
diff --git a/src_old/sh_edraft/console/model/__init__.py b/src_old/sh_edraft/console/model/__init__.py
deleted file mode 100644
index 3df50dae..00000000
--- a/src_old/sh_edraft/console/model/__init__.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.console.model
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.console.model'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .background_color import BackgroundColor
-from .foreground_color import ForegroundColor
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/console/model/background_color.py b/src_old/sh_edraft/console/model/background_color.py
deleted file mode 100644
index f4947e30..00000000
--- a/src_old/sh_edraft/console/model/background_color.py
+++ /dev/null
@@ -1,14 +0,0 @@
-from enum import Enum
-
-
-class BackgroundColor(Enum):
-
- default = 'on_default'
- grey = 'on_grey'
- red = 'on_red'
- green = 'on_green'
- yellow = 'on_yellow'
- blue = 'on_blue'
- magenta = 'on_magenta'
- cyan = 'on_cyan'
- white = 'on_white'
diff --git a/src_old/sh_edraft/console/model/foreground_color.py b/src_old/sh_edraft/console/model/foreground_color.py
deleted file mode 100644
index 463d4ae7..00000000
--- a/src_old/sh_edraft/console/model/foreground_color.py
+++ /dev/null
@@ -1,14 +0,0 @@
-from enum import Enum
-
-
-class ForegroundColor(Enum):
-
- default = 'default'
- grey = 'grey'
- red = 'red'
- green = 'green'
- yellow = 'yellow'
- blue = 'blue'
- magenta = 'magenta'
- cyan = 'cyan'
- white = 'white'
diff --git a/src_old/sh_edraft/database/__init__.py b/src_old/sh_edraft/database/__init__.py
deleted file mode 100644
index 7bb526a4..00000000
--- a/src_old/sh_edraft/database/__init__.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.database
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.database'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/database/connection/__init__.py b/src_old/sh_edraft/database/connection/__init__.py
deleted file mode 100644
index 5f3406df..00000000
--- a/src_old/sh_edraft/database/connection/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.database.connection
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.database.connection'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .database_connection import DatabaseConnection
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/database/connection/base/__init__.py b/src_old/sh_edraft/database/connection/base/__init__.py
deleted file mode 100644
index 492da1d6..00000000
--- a/src_old/sh_edraft/database/connection/base/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.database.connection.base
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.database.connection.base'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .database_connection_base import DatabaseConnectionBase
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/database/connection/base/database_connection_base.py b/src_old/sh_edraft/database/connection/base/database_connection_base.py
deleted file mode 100644
index 9bc31427..00000000
--- a/src_old/sh_edraft/database/connection/base/database_connection_base.py
+++ /dev/null
@@ -1,21 +0,0 @@
-from abc import abstractmethod, ABC
-
-from sqlalchemy import engine
-from sqlalchemy.orm import Session
-
-
-class DatabaseConnectionBase(ABC):
-
- @abstractmethod
- def __init__(self): pass
-
- @property
- @abstractmethod
- def engine(self) -> engine: pass
-
- @property
- @abstractmethod
- def session(self) -> Session: pass
-
- @abstractmethod
- def connect(self, connection_string: str): pass
diff --git a/src_old/sh_edraft/database/connection/database_connection.py b/src_old/sh_edraft/database/connection/database_connection.py
deleted file mode 100644
index b3397113..00000000
--- a/src_old/sh_edraft/database/connection/database_connection.py
+++ /dev/null
@@ -1,56 +0,0 @@
-from typing import Optional
-
-from sqlalchemy import engine, create_engine
-from sqlalchemy.orm import Session, sessionmaker
-
-from sh_edraft.database.connection.base.database_connection_base import DatabaseConnectionBase
-from sh_edraft.database.model.database_settings import DatabaseSettings
-from sh_edraft.console.console import Console
-from sh_edraft.console.model.foreground_color import ForegroundColor
-
-
-class DatabaseConnection(DatabaseConnectionBase):
-
- def __init__(self, database_settings: DatabaseSettings):
- DatabaseConnectionBase.__init__(self)
-
- self._db_settings = database_settings
-
- self._engine: Optional[engine] = None
- self._session: Optional[Session] = None
- self._credentials: Optional[str] = None
-
- @property
- def engine(self) -> engine:
- return self._engine
-
- @property
- def session(self) -> Session:
- return self._session
-
- def connect(self, connection_string: str):
- try:
- self._engine = create_engine(connection_string)
-
- if self._db_settings.encoding is not None:
- self._engine.encoding = self._db_settings.encoding
-
- if self._db_settings.case_sensitive is not None:
- self._engine.case_sensitive = self._db_settings.case_sensitive
-
- if self._db_settings.echo is not None:
- self._engine.echo = self._db_settings.echo
-
- self._engine.connect()
-
- db_session = sessionmaker(bind=self._engine)
- self._session = db_session()
- Console.set_foreground_color(ForegroundColor.green)
- Console.write_line(f'[{__name__}] Connected to database')
- Console.set_foreground_color(ForegroundColor.default)
- except Exception as e:
- Console.set_foreground_color(ForegroundColor.red)
- Console.write_line(f'[{__name__}] Database connection failed -> {e}')
- Console.set_foreground_color(ForegroundColor.default)
- exit()
-
diff --git a/src_old/sh_edraft/database/context/__init__.py b/src_old/sh_edraft/database/context/__init__.py
deleted file mode 100644
index 1f5bc196..00000000
--- a/src_old/sh_edraft/database/context/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.database.context
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.database.context'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .database_context import DatabaseContext
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/database/context/base/__init__.py b/src_old/sh_edraft/database/context/base/__init__.py
deleted file mode 100644
index 63d9bb64..00000000
--- a/src_old/sh_edraft/database/context/base/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.database.context.base
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.database.context.base'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .database_context_base import DatabaseContextBase
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/database/context/base/database_context_base.py b/src_old/sh_edraft/database/context/base/database_context_base.py
deleted file mode 100644
index b8294e64..00000000
--- a/src_old/sh_edraft/database/context/base/database_context_base.py
+++ /dev/null
@@ -1,27 +0,0 @@
-from abc import abstractmethod
-
-from sqlalchemy import engine
-from sqlalchemy.orm import Session
-
-from sh_edraft.service.base.service_base import ServiceBase
-
-
-class DatabaseContextBase(ServiceBase):
-
- @abstractmethod
- def __init__(self):
- ServiceBase.__init__(self)
-
- @property
- @abstractmethod
- def engine(self) -> engine: pass
-
- @property
- @abstractmethod
- def session(self) -> Session: pass
-
- @abstractmethod
- def connect(self, connection_string: str): pass
-
- @abstractmethod
- def _create_tables(self): pass
diff --git a/src_old/sh_edraft/database/context/database_context.py b/src_old/sh_edraft/database/context/database_context.py
deleted file mode 100644
index 436ed53e..00000000
--- a/src_old/sh_edraft/database/context/database_context.py
+++ /dev/null
@@ -1,50 +0,0 @@
-from sqlalchemy import engine, Table
-from sqlalchemy.orm import Session
-
-from sh_edraft.database.connection.database_connection import DatabaseConnection
-from sh_edraft.database.connection.base.database_connection_base import DatabaseConnectionBase
-from sh_edraft.database.context.base.database_context_base import DatabaseContextBase
-from sh_edraft.database.model.dbmodel import DBModel
-from sh_edraft.database.model.database_settings import DatabaseSettings
-from sh_edraft.console.console import Console
-from sh_edraft.console.model.foreground_color import ForegroundColor
-
-
-class DatabaseContext(DatabaseContextBase):
-
- def __init__(self, database_settings: DatabaseSettings):
- DatabaseContextBase.__init__(self)
-
- self._db: DatabaseConnectionBase = DatabaseConnection(database_settings)
- self._tables: list[Table] = []
-
- @property
- def engine(self) -> engine:
- return self._db.engine
-
- @property
- def session(self) -> Session:
- return self._db.session
-
- def create(self):
- pass
-
- def connect(self, connection_string: str):
- self._db.connect(connection_string)
- self._create_tables()
-
- def _create_tables(self):
- try:
- for subclass in DBModel.__subclasses__():
- self._tables.append(subclass.__table__)
-
- DBModel.metadata.drop_all(self._db.engine, self._tables)
- DBModel.metadata.create_all(self._db.engine, self._tables, checkfirst=True)
- Console.set_foreground_color(ForegroundColor.green)
- Console.write_line(f'[{__name__}] Created tables')
- Console.set_foreground_color(ForegroundColor.default)
- except Exception as e:
- Console.set_foreground_color(ForegroundColor.red)
- Console.write_line(f'[{__name__}] Creating tables failed -> {e}')
- Console.set_foreground_color(ForegroundColor.default)
- exit()
diff --git a/src_old/sh_edraft/database/model/__init__.py b/src_old/sh_edraft/database/model/__init__.py
deleted file mode 100644
index de87e001..00000000
--- a/src_old/sh_edraft/database/model/__init__.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.database.model
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.database.model'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .database_settings import DatabaseSettings
-from .database_settings_name import DatabaseSettingsName
-from .dbmodel import DBModel
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/database/model/database_settings.py b/src_old/sh_edraft/database/model/database_settings.py
deleted file mode 100644
index aed39e5f..00000000
--- a/src_old/sh_edraft/database/model/database_settings.py
+++ /dev/null
@@ -1,78 +0,0 @@
-import traceback
-from typing import Optional
-
-from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
-from sh_edraft.database.model.database_settings_name import DatabaseSettingsName
-from sh_edraft.console.console import Console
-from sh_edraft.console.model.foreground_color import ForegroundColor
-
-
-class DatabaseSettings(ConfigurationModelBase):
-
- def __init__(self):
- ConfigurationModelBase.__init__(self)
-
- self._connection_string: Optional[str] = None
- self._credentials: Optional[str] = None
- self._encoding: Optional[str] = None
- self._case_sensitive: Optional[bool] = None
- self._echo: Optional[bool] = None
-
- @property
- def connection_string(self) -> str:
- return self._connection_string
-
- @connection_string.setter
- def connection_string(self, connection_string: str):
- self._connection_string = connection_string
-
- @property
- def credentials(self) -> str:
- return self._credentials
-
- @credentials.setter
- def credentials(self, credentials: str):
- self._credentials = credentials
-
- @property
- def encoding(self) -> str:
- return self._encoding
-
- @encoding.setter
- def encoding(self, encoding: str) -> None:
- self._encoding = encoding
-
- @property
- def case_sensitive(self) -> bool:
- return self._case_sensitive
-
- @case_sensitive.setter
- def case_sensitive(self, case_sensitive: bool) -> None:
- self._case_sensitive = case_sensitive
-
- @property
- def echo(self) -> bool:
- return self._echo
-
- @echo.setter
- def echo(self, echo: bool) -> None:
- self._echo = echo
-
- def from_dict(self, settings: dict):
- try:
- self._connection_string = settings[DatabaseSettingsName.connection_string.value]
- self._credentials = settings[DatabaseSettingsName.credentials.value]
-
- if DatabaseSettingsName.encoding.value in settings:
- self._encoding = settings[DatabaseSettingsName.encoding.value]
-
- if DatabaseSettingsName.case_sensitive.value in settings:
- self._case_sensitive = bool(settings[DatabaseSettingsName.case_sensitive.value])
-
- if DatabaseSettingsName.echo.value in settings:
- self._echo = bool(settings[DatabaseSettingsName.echo.value])
- except Exception as e:
- Console.set_foreground_color(ForegroundColor.red)
- Console.write_line(f'[ ERROR ] [ {__name__} ]: Reading error in {self.__name__} settings')
- Console.write_line(f'[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}')
- Console.set_foreground_color(ForegroundColor.default)
diff --git a/src_old/sh_edraft/database/model/database_settings_name.py b/src_old/sh_edraft/database/model/database_settings_name.py
deleted file mode 100644
index 57ece941..00000000
--- a/src_old/sh_edraft/database/model/database_settings_name.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from enum import Enum
-
-
-class DatabaseSettingsName(Enum):
-
- connection_string = 'ConnectionString'
- credentials = 'Credentials'
- encoding = 'Encoding'
- case_sensitive = 'CaseSensitive'
- echo = 'Echo'
diff --git a/src_old/sh_edraft/database/model/dbmodel.py b/src_old/sh_edraft/database/model/dbmodel.py
deleted file mode 100644
index 145da02b..00000000
--- a/src_old/sh_edraft/database/model/dbmodel.py
+++ /dev/null
@@ -1,3 +0,0 @@
-from sqlalchemy.ext.declarative import declarative_base
-
-DBModel: declarative_base = declarative_base()
diff --git a/src_old/sh_edraft/environment/__init__.py b/src_old/sh_edraft/environment/__init__.py
deleted file mode 100644
index ac993870..00000000
--- a/src_old/sh_edraft/environment/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.environment
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.environment'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .hosting_environment import HostingEnvironment
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/environment/base/__init__.py b/src_old/sh_edraft/environment/base/__init__.py
deleted file mode 100644
index 36b8b351..00000000
--- a/src_old/sh_edraft/environment/base/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.environment.base
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.environment.base'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .environment_base import EnvironmentBase
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/environment/base/environment_base.py b/src_old/sh_edraft/environment/base/environment_base.py
deleted file mode 100644
index f5dc9266..00000000
--- a/src_old/sh_edraft/environment/base/environment_base.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from abc import ABC, abstractmethod
-
-
-class EnvironmentBase(ABC):
-
- @abstractmethod
- def __init__(self): pass
-
- @property
- @abstractmethod
- def environment_name(self) -> str: pass
-
- @environment_name.setter
- @abstractmethod
- def environment_name(self, environment_name: str): pass
-
- @property
- @abstractmethod
- def application_name(self) -> str: pass
-
- @application_name.setter
- @abstractmethod
- def application_name(self, application_name: str): pass
-
- @property
- @abstractmethod
- def customer(self) -> str: pass
-
- @customer.setter
- @abstractmethod
- def customer(self, customer: str): pass
-
- @property
- @abstractmethod
- def content_root_path(self) -> str: pass
-
- @content_root_path.setter
- @abstractmethod
- def content_root_path(self, content_root_path: str): pass
-
- @property
- @abstractmethod
- def host_name(self) -> str: pass
diff --git a/src_old/sh_edraft/environment/hosting_environment.py b/src_old/sh_edraft/environment/hosting_environment.py
deleted file mode 100644
index 2f2021ff..00000000
--- a/src_old/sh_edraft/environment/hosting_environment.py
+++ /dev/null
@@ -1,52 +0,0 @@
-from socket import gethostname
-from typing import Optional
-
-from sh_edraft.environment.base.environment_base import EnvironmentBase
-from sh_edraft.environment.model.environment_name import EnvironmentName
-
-
-class HostingEnvironment(EnvironmentBase):
-
- def __init__(self, name: EnvironmentName = EnvironmentName.production, crp: str = './'):
- EnvironmentBase.__init__(self)
-
- self._environment_name: Optional[EnvironmentName] = name
- self._app_name: Optional[str] = None
- self._customer: Optional[str] = None
- self._content_root_path: Optional[str] = crp
-
- @property
- def environment_name(self) -> str:
- return str(self._environment_name.value)
-
- @environment_name.setter
- def environment_name(self, environment_name: str):
- self._environment_name = EnvironmentName(environment_name)
-
- @property
- def application_name(self) -> str:
- return self._app_name if self._app_name is not None else ''
-
- @application_name.setter
- def application_name(self, application_name: str):
- self._app_name = application_name
-
- @property
- def customer(self) -> str:
- return self._customer if self._customer is not None else ''
-
- @customer.setter
- def customer(self, customer: str):
- self._customer = customer
-
- @property
- def content_root_path(self) -> str:
- return self._content_root_path
-
- @content_root_path.setter
- def content_root_path(self, content_root_path: str):
- self._content_root_path = content_root_path
-
- @property
- def host_name(self):
- return gethostname()
diff --git a/src_old/sh_edraft/environment/model/__init__.py b/src_old/sh_edraft/environment/model/__init__.py
deleted file mode 100644
index 59266f74..00000000
--- a/src_old/sh_edraft/environment/model/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.environment.model
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.environment.model'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .environment_name import EnvironmentName
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/environment/model/environment_name.py b/src_old/sh_edraft/environment/model/environment_name.py
deleted file mode 100644
index 18abcbb5..00000000
--- a/src_old/sh_edraft/environment/model/environment_name.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from enum import Enum
-
-
-class EnvironmentName(Enum):
-
- production = 'production'
- staging = 'staging'
- testing = 'testing'
- development = 'development'
diff --git a/src_old/sh_edraft/hosting/__init__.py b/src_old/sh_edraft/hosting/__init__.py
deleted file mode 100644
index d650f7e0..00000000
--- a/src_old/sh_edraft/hosting/__init__.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.hosting
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.hosting'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .application_host import ApplicationHost
-from .application_runtime import ApplicationRuntime
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/hosting/application_host.py b/src_old/sh_edraft/hosting/application_host.py
deleted file mode 100644
index 1c5ed011..00000000
--- a/src_old/sh_edraft/hosting/application_host.py
+++ /dev/null
@@ -1,46 +0,0 @@
-import atexit
-from datetime import datetime
-
-from sh_edraft.configuration.configuration import Configuration
-from sh_edraft.configuration.base.configuration_base import ConfigurationBase
-from sh_edraft.hosting.base.application_runtime_base import ApplicationRuntimeBase
-from sh_edraft.hosting.application_runtime import ApplicationRuntime
-from sh_edraft.hosting.base.application_host_base import ApplicationHostBase
-from sh_edraft.service.providing.service_provider import ServiceProvider
-from sh_edraft.service.providing.base.service_provider_base import ServiceProviderBase
-from sh_edraft.console.console import Console
-
-
-class ApplicationHost(ApplicationHostBase):
-
- def __init__(self):
- ApplicationHostBase.__init__(self)
-
- # Init
- self._config = Configuration()
- self._app_runtime = ApplicationRuntime(self._config)
- self._services = ServiceProvider(self._app_runtime)
-
- # Create
- self._config.create()
- self._services.create()
-
- # Set vars
- self._start_time: datetime = datetime.now()
- self._end_time: datetime = datetime.now()
-
- atexit.register(Console.close)
-
- @property
- def configuration(self) -> ConfigurationBase:
- return self._config
-
- @property
- def application_runtime(self) -> ApplicationRuntimeBase:
- return self._app_runtime
-
- @property
- def services(self) -> ServiceProviderBase:
- return self._services
-
- def create(self): pass
diff --git a/src_old/sh_edraft/hosting/application_runtime.py b/src_old/sh_edraft/hosting/application_runtime.py
deleted file mode 100644
index 5e903bb5..00000000
--- a/src_old/sh_edraft/hosting/application_runtime.py
+++ /dev/null
@@ -1,38 +0,0 @@
-from datetime import datetime
-
-from sh_edraft.configuration.base.configuration_base import ConfigurationBase
-from sh_edraft.hosting.base.application_runtime_base import ApplicationRuntimeBase
-
-
-class ApplicationRuntime(ApplicationRuntimeBase):
-
- def __init__(self, config: ConfigurationBase):
- ApplicationRuntimeBase.__init__(self)
-
- self._app_configuration = config
- self._start_time: datetime = datetime.now()
- self._end_time: datetime = datetime.now()
-
- @property
- def configuration(self) -> ConfigurationBase:
- return self._app_configuration
-
- @property
- def start_time(self) -> datetime:
- return self._start_time
-
- @start_time.setter
- def start_time(self, start_time: datetime):
- self._start_time = start_time
-
- @property
- def end_time(self) -> datetime:
- return self._end_time
-
- @end_time.setter
- def end_time(self, end_time: datetime):
- self._end_time = end_time
-
- @property
- def date_time_now(self) -> datetime:
- return datetime.now()
diff --git a/src_old/sh_edraft/hosting/base/__init__.py b/src_old/sh_edraft/hosting/base/__init__.py
deleted file mode 100644
index 47f46211..00000000
--- a/src_old/sh_edraft/hosting/base/__init__.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.hosting.base
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.hosting.base'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .application_base import ApplicationBase
-from .application_host_base import ApplicationHostBase
-from .application_runtime_base import ApplicationRuntimeBase
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/hosting/base/application_base.py b/src_old/sh_edraft/hosting/base/application_base.py
deleted file mode 100644
index 00f72997..00000000
--- a/src_old/sh_edraft/hosting/base/application_base.py
+++ /dev/null
@@ -1,19 +0,0 @@
-from abc import ABC, abstractmethod
-
-
-class ApplicationBase(ABC):
-
- @abstractmethod
- def __init__(self): pass
-
- @abstractmethod
- def create_application_host(self): pass
-
- @abstractmethod
- def create_configuration(self): pass
-
- @abstractmethod
- def create_services(self): pass
-
- @abstractmethod
- def main(self): pass
diff --git a/src_old/sh_edraft/hosting/base/application_host_base.py b/src_old/sh_edraft/hosting/base/application_host_base.py
deleted file mode 100644
index fb816ccb..00000000
--- a/src_old/sh_edraft/hosting/base/application_host_base.py
+++ /dev/null
@@ -1,26 +0,0 @@
-from abc import ABC, abstractmethod
-
-from sh_edraft.configuration.base.configuration_base import ConfigurationBase
-from sh_edraft.hosting.base.application_runtime_base import ApplicationRuntimeBase
-from sh_edraft.service.providing.base.service_provider_base import ServiceProviderBase
-
-
-class ApplicationHostBase(ABC):
-
- @abstractmethod
- def __init__(self): pass
-
- @property
- @abstractmethod
- def configuration(self) -> ConfigurationBase: pass
-
- @property
- @abstractmethod
- def application_runtime(self) -> ApplicationRuntimeBase: pass
-
- @property
- @abstractmethod
- def services(self) -> ServiceProviderBase: pass
-
- @abstractmethod
- def create(self): pass
diff --git a/src_old/sh_edraft/hosting/base/application_runtime_base.py b/src_old/sh_edraft/hosting/base/application_runtime_base.py
deleted file mode 100644
index fd644270..00000000
--- a/src_old/sh_edraft/hosting/base/application_runtime_base.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from abc import ABC, abstractmethod
-from datetime import datetime
-
-from sh_edraft.configuration.base.configuration_base import ConfigurationBase
-
-
-class ApplicationRuntimeBase(ABC):
-
- @abstractmethod
- def __init__(self): pass
-
- @property
- @abstractmethod
- def configuration(self) -> ConfigurationBase: pass
-
- @property
- @abstractmethod
- def start_time(self) -> datetime: pass
-
- @start_time.setter
- @abstractmethod
- def start_time(self, start_time: datetime): pass
-
- @property
- @abstractmethod
- def end_time(self): pass
-
- @end_time.setter
- @abstractmethod
- def end_time(self, end_time: datetime): pass
-
- @property
- @abstractmethod
- def date_time_now(self) -> datetime: pass
diff --git a/src_old/sh_edraft/hosting/model/__init__.py b/src_old/sh_edraft/hosting/model/__init__.py
deleted file mode 100644
index 2ff0878e..00000000
--- a/src_old/sh_edraft/hosting/model/__init__.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.hosting.model
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.hosting.model'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/logging/__init__.py b/src_old/sh_edraft/logging/__init__.py
deleted file mode 100644
index 80fdec21..00000000
--- a/src_old/sh_edraft/logging/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.logging
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.logging'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .logger import Logger
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/logging/base/__init__.py b/src_old/sh_edraft/logging/base/__init__.py
deleted file mode 100644
index 83da99e0..00000000
--- a/src_old/sh_edraft/logging/base/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.logging.base
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.logging.base'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .logger_base import LoggerBase
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/logging/base/logger_base.py b/src_old/sh_edraft/logging/base/logger_base.py
deleted file mode 100644
index 2dc5de50..00000000
--- a/src_old/sh_edraft/logging/base/logger_base.py
+++ /dev/null
@@ -1,31 +0,0 @@
-from abc import abstractmethod
-
-from sh_edraft.service.base.service_base import ServiceBase
-
-
-class LoggerBase(ServiceBase):
-
- @abstractmethod
- def __init__(self):
- ServiceBase.__init__(self)
-
- @abstractmethod
- def header(self, string: str): pass
-
- @abstractmethod
- def trace(self, name: str, message: str): pass
-
- @abstractmethod
- def debug(self, name: str, message: str): pass
-
- @abstractmethod
- def info(self, name: str, message: str): pass
-
- @abstractmethod
- def warn(self, name: str, message: str): pass
-
- @abstractmethod
- def error(self, name: str, message: str, ex: Exception = None): pass
-
- @abstractmethod
- def fatal(self, name: str, message: str, ex: Exception = None): pass
diff --git a/src_old/sh_edraft/logging/logger.py b/src_old/sh_edraft/logging/logger.py
deleted file mode 100644
index 6668132e..00000000
--- a/src_old/sh_edraft/logging/logger.py
+++ /dev/null
@@ -1,195 +0,0 @@
-import datetime
-import os
-import traceback
-from string import Template
-
-from sh_edraft.hosting.base.application_runtime_base import ApplicationRuntimeBase
-from sh_edraft.logging.base.logger_base import LoggerBase
-from sh_edraft.logging.model.logging_settings import LoggingSettings
-from sh_edraft.logging.model.logging_level import LoggingLevel
-from sh_edraft.time.model.time_format_settings import TimeFormatSettings
-from sh_edraft.console.console import Console
-from sh_edraft.console.model.foreground_color import ForegroundColor
-
-
-class Logger(LoggerBase):
-
- def __init__(self, logging_settings: LoggingSettings, time_format: TimeFormatSettings, app_runtime: ApplicationRuntimeBase):
- LoggerBase.__init__(self)
-
- self._app_runtime = app_runtime
- self._log_settings: LoggingSettings = logging_settings
- self._time_format_settings: TimeFormatSettings = time_format
-
- self._log = Template(self._log_settings.filename).substitute(
- date_time_now=self._app_runtime.date_time_now.strftime(self._time_format_settings.date_time_format),
- start_time=self._app_runtime.start_time.strftime(self._time_format_settings.date_time_log_format)
- )
- self._path = self._log_settings.path
- self._level = self._log_settings.level
- self._console = self._log_settings.console
-
- self.create()
-
- def _get_datetime_now(self) -> str:
- try:
- return datetime.datetime.now().strftime(self._time_format_settings.date_time_format)
- except Exception as e:
- self.error(__name__, 'Cannot get time', ex=e)
-
- def _get_date(self) -> str:
- try:
- return datetime.datetime.now().strftime(self._time_format_settings.date_format)
- except Exception as e:
- self.error(__name__, 'Cannot get date', ex=e)
-
- def create(self) -> None:
- """ path """
- try:
- # check if log file path exists
- if not os.path.exists(self._path):
- os.makedirs(self._path)
- except Exception as e:
- self._fatal_console(__name__, 'Cannot create log dir', ex=e)
-
- """ create new log file """
- try:
- # open log file, create if not exists
- path = f'{self._path}{self._log}'
- f = open(path, "w+")
- Console.write_line(f'[{__name__}]: Using log file: {path}')
- f.close()
- except Exception as e:
- self._fatal_console(__name__, 'Cannot open log file', ex=e)
-
- def _append_log(self, string):
- try:
- # open log file and append always
- if not os.path.isdir(self._path):
- self._fatal_console(__name__, 'Log directory not found')
-
- with open(self._path + self._log, "a+", encoding="utf-8") as f:
- f.write(string + '\n')
- f.close()
- except Exception as e:
- self._fatal_console(__name__, f'Cannot append log file, message: {string}', ex=e)
-
- def _get_string(self, name: str, level: LoggingLevel, message: str) -> str:
- log_level = level.name
- return f'<{self._get_datetime_now()}> [ {log_level} ] [ {name} ]: {message}'
-
- def header(self, string: str):
- # append log and print message
- self._append_log(string)
- Console.set_foreground_color(ForegroundColor.default)
- Console.write_line(string)
- Console.set_foreground_color(ForegroundColor.default)
-
- def trace(self, name: str, message: str):
- output = self._get_string(name, LoggingLevel.TRACE, message)
-
- # check if message can be written to log
- if self._level.value >= LoggingLevel.TRACE.value:
- self._append_log(output)
-
- # check if message can be shown in console
- if self._console.value >= LoggingLevel.TRACE.value:
- Console.set_foreground_color(ForegroundColor.green)
- Console.write_line(output)
- Console.set_foreground_color(ForegroundColor.default)
-
- def debug(self, name: str, message: str):
- output = self._get_string(name, LoggingLevel.DEBUG, message)
-
- # check if message can be written to log
- if self._level.value >= LoggingLevel.DEBUG.value:
- self._append_log(output)
-
- # check if message can be shown in console
- if self._console.value >= LoggingLevel.DEBUG.value:
- Console.set_foreground_color(ForegroundColor.green)
- Console.write_line(output)
- Console.set_foreground_color(ForegroundColor.default)
-
- def info(self, name: str, message: str):
- output = self._get_string(name, LoggingLevel.INFO, message)
-
- # check if message can be written to log
- if self._level.value >= LoggingLevel.INFO.value:
- self._append_log(output)
-
- # check if message can be shown in console
- if self._console.value >= LoggingLevel.INFO.value:
- Console.set_foreground_color(ForegroundColor.green)
- Console.write_line(output)
- Console.set_foreground_color(ForegroundColor.default)
-
- def warn(self, name: str, message: str):
- output = self._get_string(name, LoggingLevel.WARN, message)
-
- # check if message can be written to log
- if self._level.value >= LoggingLevel.WARN.value:
- self._append_log(output)
-
- # check if message can be shown in console
- if self._console.value >= LoggingLevel.WARN.value:
- Console.set_foreground_color(ForegroundColor.yellow)
- Console.write_line(output)
- Console.set_foreground_color(ForegroundColor.default)
-
- def error(self, name: str, message: str, ex: Exception = None):
- output = ''
- if ex is not None:
- tb = traceback.format_exc()
- self.error(name, message)
- output = self._get_string(name, LoggingLevel.ERROR, f'{ex} -> {tb}')
- else:
- output = self._get_string(name, LoggingLevel.ERROR, message)
-
- # check if message can be written to log
- if self._level.value >= LoggingLevel.ERROR.value:
- self._append_log(output)
-
- # check if message can be shown in console
- if self._console.value >= LoggingLevel.ERROR.value:
- Console.set_foreground_color(ForegroundColor.red)
- Console.write_line(output)
- Console.set_foreground_color(ForegroundColor.default)
-
- def fatal(self, name: str, message: str, ex: Exception = None):
- output = ''
- if ex is not None:
- tb = traceback.format_exc()
- self.error(name, message)
- output = self._get_string(name, LoggingLevel.FATAL, f'{ex} -> {tb}')
- else:
- output = self._get_string(name, LoggingLevel.FATAL, message)
-
- # check if message can be written to log
- if self._level.value >= LoggingLevel.FATAL.value:
- self._append_log(output)
-
- # check if message can be shown in console
- if self._console.value >= LoggingLevel.FATAL.value:
- Console.set_foreground_color(ForegroundColor.red)
- Console.write_line(output)
- Console.set_foreground_color(ForegroundColor.default)
-
- exit()
-
- def _fatal_console(self, name: str, message: str, ex: Exception = None):
- output = ''
- if ex is not None:
- tb = traceback.format_exc()
- self.error(name, message)
- output = self._get_string(name, LoggingLevel.ERROR, f'{ex} -> {tb}')
- else:
- output = self._get_string(name, LoggingLevel.ERROR, message)
-
- # check if message can be shown in console
- if self._console.value >= LoggingLevel.FATAL.value:
- Console.set_foreground_color(ForegroundColor.red)
- Console.write_line(output)
- Console.set_foreground_color(ForegroundColor.default)
-
- exit()
diff --git a/src_old/sh_edraft/logging/model/__init__.py b/src_old/sh_edraft/logging/model/__init__.py
deleted file mode 100644
index e7bcd608..00000000
--- a/src_old/sh_edraft/logging/model/__init__.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.logging.model
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.logging.model'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .logging_level import LoggingLevel
-from .logging_settings import LoggingSettings
-from .logging_settings_name import LoggingSettingsName
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/logging/model/logging_level.py b/src_old/sh_edraft/logging/model/logging_level.py
deleted file mode 100644
index ceb7b4c7..00000000
--- a/src_old/sh_edraft/logging/model/logging_level.py
+++ /dev/null
@@ -1,12 +0,0 @@
-from enum import Enum
-
-
-class LoggingLevel(Enum):
-
- OFF = 0 # Nothing
- FATAL = 1 # Error that cause exit
- ERROR = 2 # Non fatal error
- WARN = 3 # Error that can later be fatal
- INFO = 4 # Normal information's
- DEBUG = 5 # Detailed app state
- TRACE = 6 # Detailed app information's
diff --git a/src_old/sh_edraft/logging/model/logging_settings.py b/src_old/sh_edraft/logging/model/logging_settings.py
deleted file mode 100644
index 563369cc..00000000
--- a/src_old/sh_edraft/logging/model/logging_settings.py
+++ /dev/null
@@ -1,62 +0,0 @@
-import traceback
-from typing import Optional
-
-from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
-from sh_edraft.logging.model.logging_settings_name import LoggingSettingsName
-from sh_edraft.logging.model.logging_level import LoggingLevel
-from sh_edraft.console.console import Console
-from sh_edraft.console.model.foreground_color import ForegroundColor
-
-
-class LoggingSettings(ConfigurationModelBase):
-
- def __init__(self):
- ConfigurationModelBase.__init__(self)
- self._path: Optional[str] = None
- self._filename: Optional[str] = None
- self._console: Optional[LoggingLevel] = None
- self._level: Optional[LoggingLevel] = None
-
- @property
- def path(self) -> str:
- return self._path
-
- @path.setter
- def path(self, path: str) -> None:
- self._path = path
-
- @property
- def filename(self) -> str:
- return self._filename
-
- @filename.setter
- def filename(self, filename: str) -> None:
- self._filename = filename
-
- @property
- def console(self) -> LoggingLevel:
- return self._console
-
- @console.setter
- def console(self, console: LoggingLevel) -> None:
- self._console = console
-
- @property
- def level(self) -> LoggingLevel:
- return self._level
-
- @level.setter
- def level(self, level: LoggingLevel) -> None:
- self._level = level
-
- def from_dict(self, settings: dict):
- try:
- self._path = settings[LoggingSettingsName.path.value]
- self._filename = settings[LoggingSettingsName.filename.value]
- self._console = LoggingLevel[settings[LoggingSettingsName.console_level.value]]
- self._level = LoggingLevel[settings[LoggingSettingsName.file_level.value]]
- except Exception as e:
- Console.set_foreground_color(ForegroundColor.red)
- Console.write_line(f'[ ERROR ] [ {__name__} ]: Reading error in {self.__name__} settings')
- Console.write_line(f'[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}')
- Console.set_foreground_color(ForegroundColor.default)
diff --git a/src_old/sh_edraft/logging/model/logging_settings_name.py b/src_old/sh_edraft/logging/model/logging_settings_name.py
deleted file mode 100644
index 323e5735..00000000
--- a/src_old/sh_edraft/logging/model/logging_settings_name.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from enum import Enum
-
-
-class LoggingSettingsName(Enum):
-
- path = 'Path'
- filename = 'Filename'
- console_level = 'ConsoleLogLevel'
- file_level = 'FileLogLevel'
diff --git a/src_old/sh_edraft/mailing/__init__.py b/src_old/sh_edraft/mailing/__init__.py
deleted file mode 100644
index db3f827b..00000000
--- a/src_old/sh_edraft/mailing/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.mailing
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.mailing'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.10'
-
-from collections import namedtuple
-
-# imports:
-from .email_client import EMailClient
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=10)
diff --git a/src_old/sh_edraft/mailing/base/__init__.py b/src_old/sh_edraft/mailing/base/__init__.py
deleted file mode 100644
index 587aab2c..00000000
--- a/src_old/sh_edraft/mailing/base/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.mailing.base
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.mailing.base'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.10'
-
-from collections import namedtuple
-
-# imports:
-from .email_client_base import EMailClientBase
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=10)
diff --git a/src_old/sh_edraft/mailing/base/email_client_base.py b/src_old/sh_edraft/mailing/base/email_client_base.py
deleted file mode 100644
index bbb98879..00000000
--- a/src_old/sh_edraft/mailing/base/email_client_base.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from abc import abstractmethod
-
-from sh_edraft.mailing.model.email import EMail
-from sh_edraft.service.base.service_base import ServiceBase
-
-
-class EMailClientBase(ServiceBase):
-
- @abstractmethod
- def __init__(self):
- ServiceBase.__init__(self)
-
- @abstractmethod
- def connect(self): pass
-
- @abstractmethod
- def send_mail(self, email: EMail): pass
diff --git a/src_old/sh_edraft/mailing/email_client.py b/src_old/sh_edraft/mailing/email_client.py
deleted file mode 100644
index cc6296ee..00000000
--- a/src_old/sh_edraft/mailing/email_client.py
+++ /dev/null
@@ -1,71 +0,0 @@
-import ssl
-from smtplib import SMTP
-from typing import Optional
-
-from sh_edraft.environment.base.environment_base import EnvironmentBase
-from sh_edraft.logging.base.logger_base import LoggerBase
-from sh_edraft.mailing.base.email_client_base import EMailClientBase
-from sh_edraft.mailing.model.email import EMail
-from sh_edraft.mailing.model.email_client_settings import EMailClientSettings
-from sh_edraft.service.base.service_base import ServiceBase
-from sh_edraft.utils.credential_manager import CredentialManager
-
-
-class EMailClient(EMailClientBase):
-
- def __init__(self, environment: EnvironmentBase, logger: LoggerBase, mail_settings: EMailClientSettings):
- ServiceBase.__init__(self)
-
- self._environment = environment
- self._mail_settings = mail_settings
- self._logger = logger
-
- self._server: Optional[SMTP] = None
-
- self.create()
-
- def create(self):
- self._logger.trace(__name__, f'Started {__name__}.create')
- self.connect()
- self._logger.trace(__name__, f'Stopped {__name__}.create')
-
- def connect(self):
- self._logger.trace(__name__, f'Started {__name__}.connect')
- try:
- self._logger.debug(__name__, f'Try to connect to {self._mail_settings.host}:{self._mail_settings.port}')
- self._server = SMTP(self._mail_settings.host, self._mail_settings.port)
- self._logger.info(__name__, f'Connected to {self._mail_settings.host}:{self._mail_settings.port}')
-
- self._logger.debug(__name__, 'Try to start tls')
- self._server.starttls(context=ssl.create_default_context())
- self._logger.info(__name__, 'Started tls')
- except Exception as e:
- self._logger.error(__name__, 'Cannot connect to mail server', e)
-
- self._logger.trace(__name__, f'Stopped {__name__}.connect')
-
- def login(self):
- self._logger.trace(__name__, f'Started {__name__}.login')
- try:
- self._logger.debug(__name__, f'Try to login {self._mail_settings.user_name}@{self._mail_settings.host}:{self._mail_settings.port}')
- self._server.login(self._mail_settings.user_name, CredentialManager.decrypt(self._mail_settings.credentials))
- self._logger.info(__name__, f'Logged on as {self._mail_settings.user_name} to {self._mail_settings.host}:{self._mail_settings.port}')
- except Exception as e:
- self._logger.error(__name__, 'Cannot login to mail server', e)
-
- self._logger.trace(__name__, f'Stopped {__name__}.login')
-
- def send_mail(self, email: EMail):
- self._logger.trace(__name__, f'Started {__name__}.send_mail')
- try:
- self.login()
- email.body += f'\n\nDies ist eine automatische E-Mail.' \
- f'\nGesendet von {self._environment.application_name}-{self._environment.environment_name}@{self._environment.host_name} für ' \
- f'{self._environment.customer}.'
-
- self._logger.debug(__name__, f'Try to send email to {email.receiver_list}')
- self._server.sendmail(self._mail_settings.user_name, email.receiver_list, email.get_content(self._mail_settings.user_name))
- self._logger.info(__name__, f'Sent email to {email.receiver_list}')
- except Exception as e:
- self._logger.error(__name__, f'Cannot send mail to {email.receiver_list}', e)
- self._logger.trace(__name__, f'Stopped {__name__}.send_mail')
diff --git a/src_old/sh_edraft/mailing/model/__init__.py b/src_old/sh_edraft/mailing/model/__init__.py
deleted file mode 100644
index ee1b8eb3..00000000
--- a/src_old/sh_edraft/mailing/model/__init__.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.mailing.model
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.mailing.model'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.10'
-
-from collections import namedtuple
-
-# imports:
-from .email import EMail
-from .email_client_settings_name import EMailClientSettingsName
-from .email_client_settings import EMailClientSettings
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=10)
diff --git a/src_old/sh_edraft/mailing/model/email.py b/src_old/sh_edraft/mailing/model/email.py
deleted file mode 100644
index de49639d..00000000
--- a/src_old/sh_edraft/mailing/model/email.py
+++ /dev/null
@@ -1,86 +0,0 @@
-import re
-
-
-class EMail:
-
- def __init__(self, header: list[str] = None, subject: str = None, body: str = None, transceiver: str = None, receiver: list[str] = None):
- self._header: list[str] = header
-
- self._subject: str = subject
- self._body: str = body
-
- self._transceiver: str = transceiver
- self._receiver: list[str] = receiver
-
- @property
- def header(self) -> str:
- return '\r\n'.join(self._header)
-
- @property
- def header_list(self) -> list[str]:
- return self._header
-
- @header.setter
- def header(self, header: list[str]):
- self._header = header
-
- @property
- def subject(self) -> str:
- return self._subject
-
- @subject.setter
- def subject(self, subject: str):
- self._subject = subject
-
- @property
- def body(self) -> str:
- return self._body
-
- @body.setter
- def body(self, body: str):
- self._body = body
-
- @property
- def transceiver(self) -> str:
- return self._transceiver
-
- @transceiver.setter
- def transceiver(self, transceiver: str):
- if self.check_mail(transceiver):
- self._transceiver = transceiver
- else:
- raise Exception(f'Invalid email: {transceiver}')
-
- @property
- def receiver(self) -> str:
- return ','.join(self._receiver)
-
- @property
- def receiver_list(self) -> list[str]:
- return self._receiver
-
- @receiver.setter
- def receiver(self, receiver: list[str]):
- self._receiver = receiver
-
- @staticmethod
- def check_mail(address: str) -> bool:
- return bool(re.search('^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(.\\w{2,3})+$', address))
-
- def add_header(self, header: str):
- if self._header is None:
- self._header = []
-
- self._header.append(header)
-
- def add_receiver(self, receiver: str):
- if self._receiver is None:
- self._receiver = []
-
- if self.check_mail(receiver):
- self._receiver.append(receiver)
- else:
- raise Exception(f'Invalid email: {receiver}')
-
- def get_content(self, transceiver: str):
- return str(f'From: {transceiver}\r\nTo: {self.receiver}\r\n{self.header}\r\nSubject: {self.subject}\r\n{self.body}').encode('utf-8')
diff --git a/src_old/sh_edraft/mailing/model/email_client_settings.py b/src_old/sh_edraft/mailing/model/email_client_settings.py
deleted file mode 100644
index d9755919..00000000
--- a/src_old/sh_edraft/mailing/model/email_client_settings.py
+++ /dev/null
@@ -1,59 +0,0 @@
-import traceback
-
-from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
-from sh_edraft.console.console import Console
-from sh_edraft.mailing.model.email_client_settings_name import EMailClientSettingsName
-
-
-class EMailClientSettings(ConfigurationModelBase):
-
- def __init__(self):
- ConfigurationModelBase.__init__(self)
-
- self._host: str = ''
- self._port: int = 0
- self._user_name: str = ''
- self._credentials: str = ''
-
- @property
- def host(self) -> str:
- return self._host
-
- @host.setter
- def host(self, host: str) -> None:
- self._host = host
-
- @property
- def port(self) -> int:
- return self._port
-
- @port.setter
- def port(self, port: int) -> None:
- self._port = port
-
- @property
- def user_name(self) -> str:
- return self._user_name
-
- @user_name.setter
- def user_name(self, user_name: str) -> None:
- self._user_name = user_name
-
- @property
- def credentials(self) -> str:
- return self._credentials
-
- @credentials.setter
- def credentials(self, credentials: str) -> None:
- self._credentials = credentials
-
- def from_dict(self, settings: dict):
- try:
- self._host = settings[EMailClientSettingsName.host.value]
- self._port = settings[EMailClientSettingsName.port.value]
- self._user_name = settings[EMailClientSettingsName.user_name.value]
- self._credentials = settings[EMailClientSettingsName.credentials.value]
- except Exception as e:
- Console.error(f'[ ERROR ] [ {__name__} ]: Reading error in {self.__name__} settings')
- Console.error(f'[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}')
-
diff --git a/src_old/sh_edraft/mailing/model/email_client_settings_name.py b/src_old/sh_edraft/mailing/model/email_client_settings_name.py
deleted file mode 100644
index 665c64b6..00000000
--- a/src_old/sh_edraft/mailing/model/email_client_settings_name.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from enum import Enum
-
-
-class EMailClientSettingsName(Enum):
-
- host = 'Host'
- port = 'Port'
- user_name = 'UserName'
- credentials = 'Credentials'
diff --git a/src_old/sh_edraft/publish/base/publisher_base.py b/src_old/sh_edraft/publish/base/publisher_base.py
deleted file mode 100644
index 092dec3d..00000000
--- a/src_old/sh_edraft/publish/base/publisher_base.py
+++ /dev/null
@@ -1,30 +0,0 @@
-from abc import abstractmethod
-
-from sh_edraft.service.base.service_base import ServiceBase
-
-
-class PublisherBase(ServiceBase):
-
- @abstractmethod
- def __init__(self):
- ServiceBase.__init__(self)
-
- @property
- @abstractmethod
- def source_path(self) -> str: pass
-
- @property
- @abstractmethod
- def dist_path(self) -> str: pass
-
- @abstractmethod
- def include(self, path: str): pass
-
- @abstractmethod
- def exclude(self, path: str): pass
-
- @abstractmethod
- def build(self): pass
-
- @abstractmethod
- def publish(self): pass
diff --git a/src_old/sh_edraft/publish/model/publish_settings_model.py b/src_old/sh_edraft/publish/model/publish_settings_model.py
deleted file mode 100644
index 3a1f8ce5..00000000
--- a/src_old/sh_edraft/publish/model/publish_settings_model.py
+++ /dev/null
@@ -1,90 +0,0 @@
-import traceback
-from typing import Optional
-
-from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
-from sh_edraft.publish.model.template import Template
-from sh_edraft.publish.model.publish_settings_name import PublishSettingsName
-from sh_edraft.console.console import Console
-from sh_edraft.console.model.foreground_color import ForegroundColor
-
-
-class PublishSettings(ConfigurationModelBase):
-
- def __init__(self):
- ConfigurationModelBase.__init__(self)
-
- self._source_path: Optional[str] = None
- self._dist_path: Optional[str] = None
- self._templates: list[Template] = []
-
- self._included_files: list[str] = []
- self._excluded_files: list[str] = []
-
- self._template_ending: Optional[str] = None
-
- @property
- def source_path(self) -> str:
- return self._source_path
-
- @source_path.setter
- def source_path(self, source_path: str):
- self._source_path = source_path
-
- @property
- def dist_path(self) -> str:
- return self._dist_path
-
- @dist_path.setter
- def dist_path(self, dist_path: str):
- self._dist_path = dist_path
-
- @property
- def templates(self) -> list[Template]:
- return self._templates
-
- @templates.setter
- def templates(self, templates: list[Template]):
- self._templates = templates
-
- @property
- def included_files(self) -> list[str]:
- return self._included_files
-
- @included_files.setter
- def included_files(self, included_files: list[str]):
- self._included_files = included_files
-
- @property
- def excluded_files(self) -> list[str]:
- return self._excluded_files
-
- @excluded_files.setter
- def excluded_files(self, excluded_files: list[str]):
- self._excluded_files = excluded_files
-
- @property
- def template_ending(self) -> str:
- return self._template_ending
-
- @template_ending.setter
- def template_ending(self, template_ending: str):
- self._template_ending = template_ending
-
- def from_dict(self, settings: dict):
- try:
- self._source_path = settings[PublishSettingsName.source_path.value]
- self._dist_path = settings[PublishSettingsName.dist_path.value]
- for template in settings[PublishSettingsName.templates.value]:
- temp = Template()
- temp.from_dict(template)
- self._templates.append(temp)
-
- self._included_files = settings[PublishSettingsName.included_files.value]
- self._excluded_files = settings[PublishSettingsName.excluded_files.value]
- self._template_ending = settings[PublishSettingsName.template_ending.value]
- except Exception as e:
- Console.set_foreground_color(ForegroundColor.red)
- Console.write_line(
- f'[ ERROR ] [ {__name__} ]: Reading error in {PublishSettingsName.publish.value} settings')
- Console.write_line(f'[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}')
- Console.set_foreground_color(ForegroundColor.default)
diff --git a/src_old/sh_edraft/publish/model/publish_settings_name.py b/src_old/sh_edraft/publish/model/publish_settings_name.py
deleted file mode 100644
index 80033c68..00000000
--- a/src_old/sh_edraft/publish/model/publish_settings_name.py
+++ /dev/null
@@ -1,12 +0,0 @@
-from enum import Enum
-
-
-class PublishSettingsName(Enum):
-
- publish = 'Publish'
- source_path = 'SourcePath'
- dist_path = 'DistPath'
- templates = 'Templates'
- included_files = 'IncludedFiles'
- excluded_files = 'ExcludedFiles'
- template_ending = 'TemplateEnding'
diff --git a/src_old/sh_edraft/publish/model/template.py b/src_old/sh_edraft/publish/model/template.py
deleted file mode 100644
index b98a4738..00000000
--- a/src_old/sh_edraft/publish/model/template.py
+++ /dev/null
@@ -1,122 +0,0 @@
-from typing import Optional
-
-from sh_edraft.coding.model.version import Version
-from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
-from sh_edraft.publish.model.template_enum import TemplateEnum
-
-
-class Template(ConfigurationModelBase):
-
- def __init__(
- self,
- template_path: Optional[str] = None,
- name: Optional[str] = None,
- description: Optional[str] = None,
- long_description: Optional[str] = None,
- copyright_date: Optional[str] = None,
- copyright_name: Optional[str] = None,
- license_name: Optional[str] = None,
- license_description: Optional[str] = None,
- title: Optional[str] = None,
- author: Optional[str] = None,
- version: Optional[Version] = Version()
- ):
- ConfigurationModelBase.__init__(self)
- self._template_path: Optional[str] = template_path
- self._name: Optional[str] = name
- self._description: Optional[str] = description
- self._long_description: Optional[str] = long_description
- self._copyright_date: Optional[str] = copyright_date
- self._copyright_name: Optional[str] = copyright_name
- self._license_name: Optional[str] = license_name
- self._license_description: Optional[str] = license_description
- self._title: Optional[str] = title
- self._author: Optional[str] = author
-
- self._version: Optional[Version] = version
-
- self._file_content: Optional[str] = None
-
- @property
- def template_path(self) -> Optional[str]:
- return self._template_path
-
- @property
- def name(self) -> Optional[str]:
- return self._name
-
- @property
- def description(self) -> Optional[str]:
- return self._description
-
- @property
- def long_description(self) -> Optional[str]:
- return self._long_description
-
- @property
- def copyright_date(self) -> Optional[str]:
- return self._copyright_date
-
- @property
- def copyright_name(self) -> Optional[str]:
- return self._copyright_name
-
- @property
- def license_name(self) -> Optional[str]:
- return self._license_name
-
- @property
- def license_description(self) -> Optional[str]:
- return self._license_description
-
- @property
- def title(self) -> Optional[str]:
- return self._title
-
- @property
- def author(self) -> Optional[str]:
- return self._author
-
- @property
- def version(self) -> Optional[Version]:
- return self._version
-
- @property
- def file_content(self) -> Optional[str]:
- return self._file_content
-
- @file_content.setter
- def file_content(self, file_content: Optional[str]):
- self._file_content = file_content
-
- def from_dict(self, settings: dict):
- self._template_path = settings[TemplateEnum.TemplatePath.value]
- self._name = settings[TemplateEnum.Name.value]
- self._description = settings[TemplateEnum.Description.value]
- self._long_description = settings[TemplateEnum.LongDescription.value]
- self._copyright_date = settings[TemplateEnum.CopyrightDate.value]
- self._copyright_name = settings[TemplateEnum.CopyrightName.value]
- self._license_name = settings[TemplateEnum.LicenseName.value]
- self._license_description = settings[TemplateEnum.LicenseDescription.value]
- self._title = settings[TemplateEnum.Title.value]
- self._author = settings[TemplateEnum.Author.value]
- self._version.from_dict(settings[TemplateEnum.Version.value])
-
- def to_dict(self) -> dict:
- version: Optional[dict] = None
- if self._version is not None:
- version = self._version.to_dict()
-
- return {
- TemplateEnum.TemplatePath.value: self._template_path,
- TemplateEnum.Name.value: self._name,
- TemplateEnum.Description.value: self._description,
- TemplateEnum.LongDescription.value: self._long_description,
- TemplateEnum.CopyrightDate.value: self._copyright_date,
- TemplateEnum.CopyrightName.value: self._copyright_name,
- TemplateEnum.LicenseName.value: self._license_name,
- TemplateEnum.LicenseDescription.value: self._license_description,
- TemplateEnum.Title.value: self._title,
- TemplateEnum.Author.value: self._author,
- TemplateEnum.Version.value: version
- }
diff --git a/src_old/sh_edraft/publish/model/template_enum.py b/src_old/sh_edraft/publish/model/template_enum.py
deleted file mode 100644
index f628c4ce..00000000
--- a/src_old/sh_edraft/publish/model/template_enum.py
+++ /dev/null
@@ -1,16 +0,0 @@
-from enum import Enum
-
-
-class TemplateEnum(Enum):
-
- TemplatePath = 'TemplatePath'
- Name = 'Name'
- Description = 'Description'
- LongDescription = 'LongDescription'
- CopyrightDate = 'CopyrightDate'
- CopyrightName = 'CopyrightName'
- LicenseName = 'LicenseName'
- LicenseDescription = 'LicenseDescription'
- Title = 'Title'
- Author = 'Author'
- Version = 'Version'
diff --git a/src_old/sh_edraft/publish/publisher.py b/src_old/sh_edraft/publish/publisher.py
deleted file mode 100644
index 2ddd2b15..00000000
--- a/src_old/sh_edraft/publish/publisher.py
+++ /dev/null
@@ -1,279 +0,0 @@
-import os
-import shutil
-from string import Template as stringTemplate
-
-from setuptools import sandbox
-
-from sh_edraft.logging.base.logger_base import LoggerBase
-from sh_edraft.publish.base.publisher_base import PublisherBase
-from sh_edraft.publish.model.publish_settings_model import PublishSettings
-from sh_edraft.publish.model.template import Template
-
-
-class Publisher(PublisherBase):
-
- def __init__(self, logger: LoggerBase, publish_settings: PublishSettings):
- PublisherBase.__init__(self)
-
- self._logger: LoggerBase = logger
- self._publish_settings: PublishSettings = publish_settings
-
- self._included_files: list[str] = []
-
- @property
- def source_path(self) -> str:
- return self._publish_settings.source_path
-
- @property
- def dist_path(self):
- return self._publish_settings.dist_path
-
- def _get_template_output(self, t: Template, name: str, imports: str) -> str:
- self._logger.trace(__name__, f'Started {__name__}._get_template_output')
- try:
- if t.file_content == '':
- raise Exception(f'Template is empty: {t.template_path}')
-
- self._logger.trace(__name__, f'Stopped {__name__}._get_template_output')
- return stringTemplate(t.file_content).substitute(
- Name=name,
- Description=t.description,
- LongDescription=t.long_description,
- CopyrightDate=t.copyright_date,
- CopyrightName=t.copyright_name,
- LicenseName=t.license_name,
- LicenseDescription=t.license_description,
- Title=t.title if t.title is not None and t.title != '' else name,
- Author=t.author,
- Version=t.version.to_str(),
- Major=t.version.major,
- Minor=t.version.minor,
- Micro=t.version.micro,
- Imports=imports
- )
- except Exception as e:
- self._logger.fatal(__name__, f'Cannot read Template: {t.template_path}', e)
- self._logger.trace(__name__, f'Stopped {__name__}._get_template_output')
-
- def _read_source_path(self):
- self._logger.trace(__name__, f'Started {__name__}._read_source_path')
- included_files = self._publish_settings.included_files
- for included in included_files:
- if os.path.isdir(included):
- self._publish_settings.included_files.remove(included)
-
- for r, d, f in os.walk(included):
- for file in f:
- rel_path = os.path.relpath(r)
- if not rel_path.startswith('.'):
- rel_path = f'./{rel_path}'
-
- file_path = os.path.join(self._publish_settings.source_path, r, file)
- if os.path.isfile(file_path):
- self._included_files.append(file_path)
- elif os.path.isfile(os.path.join(rel_path, file)):
- self._included_files.append(os.path.join(rel_path, file))
- else:
- self._logger.fatal(__name__, f'File not found: {file}')
-
- elif os.path.isfile(included):
- self._included_files.append(included)
- else:
- self._logger.fatal(__name__, f'File not found: {included}')
-
- for r, d, f in os.walk(self._publish_settings.source_path):
- for file in f:
- is_file_excluded = False
- if os.path.join(r, file) in self._publish_settings.excluded_files:
- is_file_excluded = True
- else:
- for excluded in self._publish_settings.excluded_files:
- if os.path.join(r, file).__contains__(excluded):
- is_file_excluded = True
-
- if not is_file_excluded and file.endswith('.py') or file in self._publish_settings.included_files:
- self._included_files.append(os.path.join(r, file))
-
- self._logger.trace(__name__, f'Stopped {__name__}._read_source_path')
-
- def _read_templates(self):
- self._logger.trace(__name__, f'Started {__name__}._read_templates')
- for t in self._publish_settings.templates:
- output_template: str = ''
- if not os.path.isfile(t.template_path):
- self._logger.fatal(__name__, f'Template not found: {t.template_path}')
-
- with open(t.template_path) as template:
- t.file_content = template.read()
- template.close()
- if t.file_content == '':
- self._logger.fatal(__name__, f'Template is empty: {t.template_path}')
-
- self._logger.trace(__name__, f'Stopped {__name__}._read_templates')
-
- def _create_dist_path(self):
- self._logger.trace(__name__, f'Started {__name__}._create_dist_path')
- if os.path.isdir(self._publish_settings.dist_path):
- try:
- shutil.rmtree(self._publish_settings.dist_path)
- self._logger.info(__name__, f'Deleted {self._publish_settings.dist_path}')
- except Exception as e:
- self._logger.fatal(__name__, f'Cannot delete old dist directory', e)
-
- if not os.path.isdir(self._publish_settings.dist_path):
- try:
- os.makedirs(self._publish_settings.dist_path)
- self._logger.debug(__name__, f'Created directories: {self._publish_settings.dist_path}')
- self._logger.info(__name__, f'Created dist directory')
- except Exception as e:
- self._logger.fatal(__name__, f'Cannot create dist directory', e)
-
- self._logger.trace(__name__, f'Stopped {__name__}._create_dist_path')
-
- @staticmethod
- def _get_template_name_from_dirs(file: str) -> str:
- dirs = os.path.dirname(file).split('/')
- for d in dirs:
- if d.__contains__('.'):
- dirs.remove(d)
-
- if len(dirs) == 0:
- return os.path.basename(file)
- else:
- return '.'.join(dirs)
-
- def _write_templates(self):
- self._logger.trace(__name__, f'Started {__name__}._write_templates')
- for template in self._publish_settings.templates:
- for file in self._included_files:
- if os.path.basename(file) == '__init__.py' and file not in self._publish_settings.excluded_files:
- template_name = template.name
- if template.name == 'all' or template.name == '':
- template_name = self._get_template_name_from_dirs(file)
- else:
- name = self._get_template_name_from_dirs(file)
-
- if name.__contains__('.'):
- if template.name != name.split('.')[len(name.split('.')) - 1]:
- continue
-
- else:
- if template.name != name:
- continue
-
- try:
- module_file_lines: list[str] = []
- module_py_lines: list[str] = []
- imports = ''
- with open(file, 'r') as py_file:
- module_file_lines = py_file.readlines()
- py_file.close()
-
- if len(module_file_lines) == 0:
- with open(file, 'w+') as py_file:
- py_file.write(self._get_template_output(template, template_name, '# imports:'))
- py_file.close()
- self._logger.debug(__name__, f'Written to {file}')
- else:
- is_started = False
- for line in module_file_lines:
- if line.__contains__('# imports'):
- is_started = True
-
- if (line.__contains__('from') or line.__contains__('import')) and is_started:
- module_py_lines.append(line.replace('\n', ''))
-
- if len(module_py_lines) > 0:
- imports = '\n'.join(module_py_lines)
-
- with open(file, 'w+') as py_file:
- py_file.write(self._get_template_output(template, template_name, imports))
- py_file.close()
- self._logger.debug(__name__, f'Written to {file}')
-
- except Exception as e:
- self._logger.error(__name__, f'Cannot write to file: {file}', e)
-
- self._logger.info(__name__, f'Written to all included modules')
- self._logger.trace(__name__, f'Stopped {__name__}._write_templates')
-
- def _copy_all_included_files(self):
- self._logger.trace(__name__, f'Started {__name__}._copy_all_included_files')
- dist_path = self._publish_settings.dist_path
- if self._publish_settings.dist_path.endswith('/'):
- dist_path = dist_path[:len(dist_path) - 1]
-
- for file in self._included_files:
- is_file_excluded = False
- if file in self._publish_settings.excluded_files:
- is_file_excluded = True
- else:
- for excluded in self._publish_settings.excluded_files:
- if file.__contains__(excluded):
- is_file_excluded = True
-
- if not is_file_excluded:
- output_file = ''
-
- if file.startswith('..'):
- output_file = file.replace('..', '')
- elif file.startswith('.'):
- output_file = file.replace('.', '', 1)
-
- if output_file.__contains__('..'):
- output_file = os.path.join(dist_path, os.path.basename(file))
- else:
- output_file = f'{dist_path}{output_file}'
-
- output_path = os.path.dirname(output_file)
-
- try:
- if not os.path.isdir(output_path):
- os.makedirs(output_path, exist_ok=True)
- except Exception as e:
- self._logger.error(__name__, f'Cannot create directories: {output_path}', e)
-
- try:
- shutil.copy(file, output_file)
- except Exception as e:
- self._logger.error(__name__, f'Cannot copy file: {file} to {output_path}', e)
-
- self._logger.debug(__name__, f'Copied {file} to {output_path}')
-
- self._logger.info(__name__, f'Copied all included files')
- self._logger.trace(__name__, f'Stopped {__name__}._copy_all_included_files')
-
- def include(self, path: str):
- self._logger.trace(__name__, f'Started {__name__}.include')
- self._publish_settings.included_files.append(path)
- self._logger.trace(__name__, f'Stopped {__name__}.include')
-
- def exclude(self, path: str):
- self._logger.trace(__name__, f'Started {__name__}.exclude')
- self._publish_settings.excluded_files.append(path)
- self._logger.trace(__name__, f'Stopped {__name__}.exclude')
-
- def create(self):
- self._logger.trace(__name__, f'Started {__name__}.create')
- if not self._publish_settings.dist_path.endswith('/'):
- self._publish_settings.dist_path += '/'
-
- self._read_source_path()
- self._read_templates()
- self._create_dist_path()
- self._logger.trace(__name__, f'Stopped {__name__}.create')
-
- def build(self):
- self._logger.trace(__name__, f'Started {__name__}.build')
- self._write_templates()
- self._copy_all_included_files()
- self._logger.trace(__name__, f'Stopped {__name__}.build')
-
- def publish(self):
- self._logger.trace(__name__, f'Started {__name__}.publish')
- setup_py = os.path.join(self._publish_settings.dist_path, 'setup.py')
- if not os.path.isfile(setup_py):
- self._logger.fatal(__name__, f'setup.py not found in {self._publish_settings.dist_path}')
-
- sandbox.run_setup(os.path.abspath(setup_py), ['sdist', 'bdist_wheel'])
- self._logger.trace(__name__, f'Stopped {__name__}.publish')
diff --git a/src_old/sh_edraft/service/__init__.py b/src_old/sh_edraft/service/__init__.py
deleted file mode 100644
index 7d487f52..00000000
--- a/src_old/sh_edraft/service/__init__.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.service
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.service'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/service/base/__init__.py b/src_old/sh_edraft/service/base/__init__.py
deleted file mode 100644
index 73148fb0..00000000
--- a/src_old/sh_edraft/service/base/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.service.base
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.service.base'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .service_base import ServiceBase
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/service/base/service_base.py b/src_old/sh_edraft/service/base/service_base.py
deleted file mode 100644
index e135c2a9..00000000
--- a/src_old/sh_edraft/service/base/service_base.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from abc import ABC, abstractmethod
-
-
-class ServiceBase(ABC):
-
- @abstractmethod
- def __init__(self): pass
-
- @abstractmethod
- def create(self): pass
diff --git a/src_old/sh_edraft/service/providing/__init__.py b/src_old/sh_edraft/service/providing/__init__.py
deleted file mode 100644
index a532dc9d..00000000
--- a/src_old/sh_edraft/service/providing/__init__.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.service.providing
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.service.providing'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.10'
-
-from collections import namedtuple
-
-# imports:
-from .service_provider import ServiceProvider
-from .service_provider import ServiceProviderBase
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=10)
diff --git a/src_old/sh_edraft/service/providing/base/__init__.py b/src_old/sh_edraft/service/providing/base/__init__.py
deleted file mode 100644
index 740e8631..00000000
--- a/src_old/sh_edraft/service/providing/base/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.service.providing.base
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.service.providing.base'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .service_provider_base import ServiceProviderBase
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/service/providing/base/service_provider_base.py b/src_old/sh_edraft/service/providing/base/service_provider_base.py
deleted file mode 100644
index 28c986f0..00000000
--- a/src_old/sh_edraft/service/providing/base/service_provider_base.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from abc import abstractmethod, ABC
-from collections import Callable
-from typing import Type
-
-from sh_edraft.database.context.base.database_context_base import DatabaseContextBase
-from sh_edraft.service.base.service_base import ServiceBase
-
-
-class ServiceProviderBase(ABC):
-
- @abstractmethod
- def __init__(self): pass
-
- @abstractmethod
- def add_db_context(self, db_context: Type[DatabaseContextBase]): pass
-
- @abstractmethod
- def get_db_context(self) -> Callable[DatabaseContextBase]: pass
-
- @abstractmethod
- def add_transient(self, service_type: Type[ServiceBase], service: Type[ServiceBase]): pass
-
- @abstractmethod
- def add_scoped(self, service_type: Type[ServiceBase], service: Type[ServiceBase]): pass
-
- @abstractmethod
- def add_singleton(self, service_type: Type[ServiceBase], service: Callable[ServiceBase]): pass
-
- @abstractmethod
- def get_service(self, instance_type: Type[ServiceBase]) -> Callable[ServiceBase]: pass
-
- @abstractmethod
- def remove_service(self, instance_type: type): pass
diff --git a/src_old/sh_edraft/service/providing/model/__init__.py b/src_old/sh_edraft/service/providing/model/__init__.py
deleted file mode 100644
index 779edb8d..00000000
--- a/src_old/sh_edraft/service/providing/model/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.service.providing.model
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.service.providing.model'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .provide_state import ProvideState
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/service/providing/model/provide_state.py b/src_old/sh_edraft/service/providing/model/provide_state.py
deleted file mode 100644
index 52d0af05..00000000
--- a/src_old/sh_edraft/service/providing/model/provide_state.py
+++ /dev/null
@@ -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
diff --git a/src_old/sh_edraft/service/providing/service_provider.py b/src_old/sh_edraft/service/providing/service_provider.py
deleted file mode 100644
index 2ba39e4c..00000000
--- a/src_old/sh_edraft/service/providing/service_provider.py
+++ /dev/null
@@ -1,95 +0,0 @@
-from collections import Callable
-from inspect import signature, Parameter
-from typing import Type, Optional
-
-from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
-from sh_edraft.database.context.base.database_context_base import DatabaseContextBase
-from sh_edraft.environment.base import EnvironmentBase
-from sh_edraft.hosting.base.application_runtime_base import ApplicationRuntimeBase
-from sh_edraft.service.providing.base.service_provider_base import ServiceProviderBase
-from sh_edraft.service.base.service_base import ServiceBase
-
-
-class ServiceProvider(ServiceProviderBase):
-
- def __init__(self, app_runtime: ApplicationRuntimeBase):
- ServiceProviderBase.__init__(self)
- self._app_runtime: ApplicationRuntimeBase = app_runtime
- self._database_context: Optional[DatabaseContextBase] = None
-
- self._transient_services: dict[Type[ServiceBase], Type[ServiceBase]] = {}
- self._scoped_services: dict[Type[ServiceBase], Type[ServiceBase]] = {}
- self._singleton_services: dict[Type[ServiceBase], ServiceBase] = {}
-
- def create(self): pass
-
- def _create_instance(self, service: Callable[ServiceBase]) -> ServiceBase:
- sig = signature(service.__init__)
- params = []
- for param in sig.parameters.items():
- parameter = param[1]
- if parameter.name != 'self' and parameter.annotation != Parameter.empty:
- if issubclass(parameter.annotation, ApplicationRuntimeBase):
- params.append(self._app_runtime)
-
- elif issubclass(parameter.annotation, EnvironmentBase):
- params.append(self._app_runtime.configuration.environment)
-
- elif issubclass(parameter.annotation, DatabaseContextBase):
- params.append(self._database_context)
-
- elif issubclass(parameter.annotation, ServiceBase):
- params.append(self.get_service(parameter.annotation))
-
- elif issubclass(parameter.annotation, ConfigurationModelBase):
- params.append(self._app_runtime.configuration.get_configuration(parameter.annotation))
-
- return service(*params)
-
- def add_db_context(self, db_context: Type[DatabaseContextBase]):
- self._database_context = self._create_instance(db_context)
-
- def get_db_context(self) -> Callable[DatabaseContextBase]:
- return self._database_context
-
- def add_transient(self, service_type: Type[ServiceBase], service: Type[ServiceBase]):
- self._transient_services[service_type] = service
-
- def add_scoped(self, service_type: Type[ServiceBase], service: Type[ServiceBase]):
- self._scoped_services[service_type] = service
-
- def add_singleton(self, service_type: Type[ServiceBase], service: Callable[ServiceBase]):
- for known_service in self._singleton_services:
- if type(known_service) == service_type:
- raise Exception(f'Service with type {service_type} already exists')
-
- self._singleton_services[service_type] = self._create_instance(service)
-
- def get_service(self, instance_type: Type[ServiceBase]) -> Callable[ServiceBase]:
- for service in self._transient_services:
- if service == instance_type and isinstance(self._transient_services[service], type(instance_type)):
- return self._create_instance(self._transient_services[service])
-
- for service in self._scoped_services:
- if service == instance_type and isinstance(self._scoped_services[service], type(instance_type)):
- return self._create_instance(self._scoped_services[service])
-
- for service in self._singleton_services:
- if service == instance_type and isinstance(self._singleton_services[service], instance_type):
- return self._singleton_services[service]
-
- def remove_service(self, instance_type: Type[ServiceBase]):
- for service in self._transient_services:
- if service == instance_type and isinstance(self._transient_services[service], type(instance_type)):
- del self._transient_services[service]
- return
-
- for service in self._scoped_services:
- if service == instance_type and isinstance(self._scoped_services[service], type(instance_type)):
- del self._scoped_services[service]
- return
-
- for service in self._singleton_services:
- if service == instance_type and isinstance(self._singleton_services[service], instance_type):
- del self._singleton_services[service]
- return
diff --git a/src_old/sh_edraft/time/__init__.py b/src_old/sh_edraft/time/__init__.py
deleted file mode 100644
index d8460af8..00000000
--- a/src_old/sh_edraft/time/__init__.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.time
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.time'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/time/model/__init__.py b/src_old/sh_edraft/time/model/__init__.py
deleted file mode 100644
index 1056120c..00000000
--- a/src_old/sh_edraft/time/model/__init__.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.time.model
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.time.model'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .time_format_settings import TimeFormatSettings
-from .time_format_settings_names import TimeFormatSettingsNames
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/time/model/time_format_settings.py b/src_old/sh_edraft/time/model/time_format_settings.py
deleted file mode 100644
index e4be7511..00000000
--- a/src_old/sh_edraft/time/model/time_format_settings.py
+++ /dev/null
@@ -1,61 +0,0 @@
-import traceback
-from typing import Optional
-
-from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
-from sh_edraft.time.model.time_format_settings_names import TimeFormatSettingsNames
-from sh_edraft.console.console import Console
-from sh_edraft.console.model.foreground_color import ForegroundColor
-
-
-class TimeFormatSettings(ConfigurationModelBase):
-
- def __init__(self):
- ConfigurationModelBase.__init__(self)
- self._date_format: Optional[str] = None
- self._time_format: Optional[str] = None
- self._date_time_format: Optional[str] = None
- self._date_time_log_format: Optional[str] = None
-
- @property
- def date_format(self) -> str:
- return self._date_format
-
- @date_format.setter
- def date_format(self, date_format: str) -> None:
- self._date_format = date_format
-
- @property
- def time_format(self) -> str:
- return self._time_format
-
- @time_format.setter
- def time_format(self, time_format: str):
- self._time_format = time_format
-
- @property
- def date_time_format(self) -> str:
- return self._date_time_format
-
- @date_time_format.setter
- def date_time_format(self, date_time_format: str) -> None:
- self._date_time_format = date_time_format
-
- @property
- def date_time_log_format(self):
- return self._date_time_log_format
-
- @date_time_log_format.setter
- def date_time_log_format(self, date_time_now_format: str) -> None:
- self._date_time_log_format = date_time_now_format
-
- def from_dict(self, settings: dict):
- try:
- self._date_format = settings[TimeFormatSettingsNames.date_format.value]
- self._time_format = settings[TimeFormatSettingsNames.time_format.value]
- self._date_time_format = settings[TimeFormatSettingsNames.date_time_format.value]
- self._date_time_log_format = settings[TimeFormatSettingsNames.date_time_log_format.value]
- except Exception as e:
- Console.set_foreground_color(ForegroundColor.red)
- Console.write_line(f'[ ERROR ] [ {__name__} ]: Reading error in {self.__name__} settings')
- Console.write_line(f'[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}')
- Console.set_foreground_color(ForegroundColor.default)
diff --git a/src_old/sh_edraft/time/model/time_format_settings_names.py b/src_old/sh_edraft/time/model/time_format_settings_names.py
deleted file mode 100644
index 3858de10..00000000
--- a/src_old/sh_edraft/time/model/time_format_settings_names.py
+++ /dev/null
@@ -1,9 +0,0 @@
-from enum import Enum
-
-
-class TimeFormatSettingsNames(Enum):
-
- date_format = 'DateFormat'
- time_format = 'TimeFormat'
- date_time_format = 'DateTimeFormat'
- date_time_log_format = 'DateTimeLogFormat'
diff --git a/src_old/sh_edraft/utils/__init__.py b/src_old/sh_edraft/utils/__init__.py
deleted file mode 100644
index ab011b6e..00000000
--- a/src_old/sh_edraft/utils/__init__.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-sh_edraft.utils
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'sh_edraft.utils'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-from .credential_manager import CredentialManager
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/sh_edraft/utils/credential_manager.py b/src_old/sh_edraft/utils/credential_manager.py
deleted file mode 100644
index 7f9977d1..00000000
--- a/src_old/sh_edraft/utils/credential_manager.py
+++ /dev/null
@@ -1,17 +0,0 @@
-import base64
-
-
-class CredentialManager:
-
- @staticmethod
- def encrypt(string: str) -> str:
- return base64.b64encode(string.encode('utf-8')).decode('utf-8')
-
- @staticmethod
- def decrypt(string: str) -> str:
- return base64.b64decode(string).decode('utf-8')
-
- @staticmethod
- def build_string(string: str, credentials: str):
- return string.replace('$credentials', CredentialManager.decrypt(credentials))
-
diff --git a/src_old/tests/__init__.py b/src_old/tests/__init__.py
deleted file mode 100644
index 924bb32a..00000000
--- a/src_old/tests/__init__.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-tests
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'tests'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/tests/appsettings.edrafts-lapi.json b/src_old/tests/appsettings.edrafts-lapi.json
deleted file mode 100644
index 9af6f6c0..00000000
--- a/src_old/tests/appsettings.edrafts-lapi.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "TimeFormatSettings": {
- "DateFormat": "%Y-%m-%d",
- "TimeFormat": "%H:%M:%S",
- "DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
- "DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
- },
- "LoggingSettings": {
- "Path": "logs/",
- "Filename": "log_$start_time.log",
- "ConsoleLogLevel": "TRACE",
- "FileLogLevel": "TRACE"
- },
- "EMailClientSettings": {
- "Host": "mail.sh-edraft.de",
- "Port": "587",
- "UserName": "dev-srv@sh-edraft.de",
- "Credentials": "RmBOQX1eNFYiYjgsSid3fV1nelc2WA=="
- }
-}
\ No newline at end of file
diff --git a/src_old/tests/appsettings.edrafts-pc.json b/src_old/tests/appsettings.edrafts-pc.json
deleted file mode 100644
index 9af6f6c0..00000000
--- a/src_old/tests/appsettings.edrafts-pc.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "TimeFormatSettings": {
- "DateFormat": "%Y-%m-%d",
- "TimeFormat": "%H:%M:%S",
- "DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
- "DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
- },
- "LoggingSettings": {
- "Path": "logs/",
- "Filename": "log_$start_time.log",
- "ConsoleLogLevel": "TRACE",
- "FileLogLevel": "TRACE"
- },
- "EMailClientSettings": {
- "Host": "mail.sh-edraft.de",
- "Port": "587",
- "UserName": "dev-srv@sh-edraft.de",
- "Credentials": "RmBOQX1eNFYiYjgsSid3fV1nelc2WA=="
- }
-}
\ No newline at end of file
diff --git a/src_old/tests/appsettings.json b/src_old/tests/appsettings.json
deleted file mode 100644
index fd8ddf6c..00000000
--- a/src_old/tests/appsettings.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "TimeFormatSettings": {
- "DateFormat": "%Y-%m-%d",
- "TimeFormat": "%H:%M:%S",
- "DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
- "DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
- },
-
- "LoggingSettings": {
- "Path": "logs/",
- "Filename": "log_$start_time.log",
- "ConsoleLogLevel": "ERROR",
- "FileLogLevel": "WARN"
- }
-}
\ No newline at end of file
diff --git a/src_old/tests/appsettings.testing.json b/src_old/tests/appsettings.testing.json
deleted file mode 100644
index d134912e..00000000
--- a/src_old/tests/appsettings.testing.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "LoggingSettings": {
- "Path": "logs/",
- "Filename": "log_$start_time.log",
- "ConsoleLogLevel": "TRACE",
- "FileLogLevel": "TRACE"
- },
-
- "DatabaseSettings": {
- "ConnectionString": "mysql+mysqlconnector://sh_cpl:$credentials@localhost/sh_cpl",
- "Credentials": "MHZhc0Y2bjhKc1VUMWV0Qw==",
- "Encoding": "utf8mb4"
- }
-}
\ No newline at end of file
diff --git a/src_old/tests/build.json b/src_old/tests/build.json
deleted file mode 100644
index 3921c95f..00000000
--- a/src_old/tests/build.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "TimeFormatSettings": {
- "DateFormat": "%Y-%m-%d",
- "TimeFormat": "%H:%M:%S",
- "DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
- "DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
- },
- "LoggingSettings": {
- "Path": "../../build_test/logs/",
- "Filename": "log_$start_time.log",
- "ConsoleLogLevel": "INFO",
- "FileLogLevel": "TRACE"
- },
- "PublishSettings": {
- "SourcePath": "./",
- "DistPath": "../../build_test/dist",
- "Templates": [
- {
- "TemplatePath": "../../publish_templates/all_template.txt",
- "Name": "all",
- "Description": "",
- "LongDescription": "",
- "CopyrightDate": "2020",
- "CopyrightName": "sh-edraft.de",
- "LicenseName": "MIT",
- "LicenseDescription": ", see LICENSE for more details.",
- "Title": "",
- "Author": "Sven Heidemann",
- "Version": {
- "Major": 2020,
- "Minor": 12,
- "Micro": 10
- }
- },
- {
- "TemplatePath": "../../publish_templates/all_template.txt",
- "Name": "sh_edraft",
- "Description": "common python library",
- "LongDescription": "Library to share common classes and models used at sh-edraft.de",
- "CopyrightDate": "2020",
- "CopyrightName": "sh-edraft.de",
- "LicenseName": "MIT",
- "LicenseDescription": ", see LICENSE for more details.",
- "Title": "",
- "Author": "Sven Heidemann",
- "Version": {
- "Major": 2020,
- "Minor": 12,
- "Micro": 10
- }
- }
- ],
- "IncludedFiles": [
- ],
- "ExcludedFiles": [
- ],
- "TemplateEnding": "_template.txt"
- }
-}
diff --git a/src_old/tests/publish_test/__init__.py b/src_old/tests/publish_test/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/src_old/tests/publish_test/publisher_test.py b/src_old/tests/publish_test/publisher_test.py
deleted file mode 100644
index 06f95519..00000000
--- a/src_old/tests/publish_test/publisher_test.py
+++ /dev/null
@@ -1,52 +0,0 @@
-import os
-import unittest
-
-from sh_edraft.console import Console
-from sh_edraft.hosting import ApplicationHost
-from sh_edraft.logging import Logger
-from sh_edraft.logging.base import LoggerBase
-from sh_edraft.publish import Publisher
-from sh_edraft.publish.base import PublisherBase
-from sh_edraft.publish.model import PublishSettings
-
-
-class PublisherTest(unittest.TestCase):
-
- def setUp(self):
- Console.disable()
- self._app_host = ApplicationHost()
- self._configuration = self._app_host.configuration
- self._services = self._app_host.services
-
- self._configuration.add_environment_variables('CPL_')
- self._configuration.add_argument_variables()
- self._configuration.add_json_file(f'build.json')
-
- self._services.add_singleton(LoggerBase, Logger)
- self._services.add_singleton(PublisherBase, Publisher)
- self._publisher: Publisher = self._services.get_service(PublisherBase)
-
- def test_include(self):
- value = './test.py'
- self._publisher.include(value)
- self.assertTrue(value in self._publisher._publish_settings.included_files)
-
- def test_exclude(self):
- value = './test.py'
- self._publisher.exclude(value)
- self.assertTrue(value in self._publisher._publish_settings.excluded_files)
-
- def test_create(self):
- self._publisher.create()
- self.assertTrue(os.path.isdir(self._configuration.get_configuration(PublishSettings).dist_path))
-
- def test_build(self):
- self._publisher.create()
- self._publisher.build()
- self.assertTrue(os.path.isdir(self._configuration.get_configuration(PublishSettings).dist_path))
-
- def test_publish(self):
- self._publisher.create()
- self._publisher.build()
- self._publisher.publish()
- self.assertTrue(os.path.isdir(self._configuration.get_configuration(PublishSettings).dist_path))
diff --git a/src_old/tests/service_test/__init__.py b/src_old/tests/service_test/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/src_old/tests/service_test/provider_test.py b/src_old/tests/service_test/provider_test.py
deleted file mode 100644
index 96fef8eb..00000000
--- a/src_old/tests/service_test/provider_test.py
+++ /dev/null
@@ -1,79 +0,0 @@
-import unittest
-
-from sh_edraft.console import Console
-from sh_edraft.database.context import DatabaseContext
-from sh_edraft.hosting import ApplicationHost
-from sh_edraft.logging import Logger
-from sh_edraft.logging.base import LoggerBase
-
-
-class ProviderTest(unittest.TestCase):
-
- def setUp(self):
- Console.disable()
- self._app_host = ApplicationHost()
- self._configuration = self._app_host.configuration
- self._services = self._app_host.services
-
- self._configuration.add_environment_variables('CPL_')
- self._configuration.add_argument_variables()
- self._configuration.add_json_file(f'appsettings.json')
- self._configuration.add_json_file(f'appsettings.{self._configuration.environment.environment_name}.json')
- self._configuration.add_json_file(f'appsettings.{self._configuration.environment.host_name}.json', optional=True)
-
- def test_get_db_context(self):
- self._services.add_db_context(DatabaseContext)
- db: DatabaseContext = self._services.get_db_context()
-
- self.assertIsNotNone(db)
-
- def test_get_service_singleton(self):
- self._services.add_singleton(LoggerBase, Logger)
- logger = self._services.get_service(LoggerBase)
-
- self.assertIsNotNone(logger)
-
- def test_get_service_scoped(self):
- self._services.add_scoped(LoggerBase, Logger)
- logger = self._services.get_service(LoggerBase)
-
- self.assertIsNotNone(logger)
-
- def test_get_service_transient(self):
- self._services.add_transient(LoggerBase, Logger)
- logger = self._services.get_service(LoggerBase)
-
- self.assertIsNotNone(logger)
-
- def test_remove_service_singleton(self):
- self._services.add_singleton(LoggerBase, Logger)
- logger = self._services.get_service(LoggerBase)
-
- self.assertIsNotNone(logger)
-
- self._services.remove_service(LoggerBase)
- logger = self._services.get_service(LoggerBase)
-
- self.assertIsNone(logger)
-
- def test_remove_service_scoped(self):
- self._services.add_scoped(LoggerBase, Logger)
- logger = self._services.get_service(LoggerBase)
-
- self.assertIsNotNone(logger)
-
- self._services.remove_service(LoggerBase)
- logger = self._services.get_service(LoggerBase)
-
- self.assertIsNone(logger)
-
- def test_remove_service_transient(self):
- self._services.add_transient(LoggerBase, Logger)
- logger = self._services.get_service(LoggerBase)
-
- self.assertIsNotNone(logger)
-
- self._services.remove_service(LoggerBase)
- logger = self._services.get_service(LoggerBase)
-
- self.assertIsNone(logger)
diff --git a/src_old/tests/setup.py b/src_old/tests/setup.py
deleted file mode 100644
index b9da5bf5..00000000
--- a/src_old/tests/setup.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import setuptools
-
-setuptools.setup(
- name='sh_edraft_unittests',
- version='2020.0.1',
- packages=setuptools.find_packages(exclude=["tests*"]),
- url='https://www.sh-edraft.de',
- license='MIT',
- author='Sven Heidemann',
- author_email='edraft.sh@gmail.com',
- include_package_data=True,
- description='sh-edraft python common lib unittest',
- python_requires='>=3.8',
- install_requires=[
- 'discord.py',
- 'flask',
- 'mysql-connector',
- 'SQLAlchemy',
- 'termcolor',
- 'pyfiglet',
- 'tabulate',
- 'smtplib'
- ]
-)
diff --git a/src_old/tests/time_test/__init__.py b/src_old/tests/time_test/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/src_old/tests/time_test/time_format_settings_test.py b/src_old/tests/time_test/time_format_settings_test.py
deleted file mode 100644
index 9bc5347a..00000000
--- a/src_old/tests/time_test/time_format_settings_test.py
+++ /dev/null
@@ -1,26 +0,0 @@
-import unittest
-
-from sh_edraft.time.model import TimeFormatSettingsNames, TimeFormatSettings
-
-
-class TimeFormatSettingsTest(unittest.TestCase):
-
- def setUp(self): pass
-
- def test_from_dict(self):
- test_dict = {
- TimeFormatSettingsNames.date_format.value: '%H:%M:%S',
- TimeFormatSettingsNames.time_format.value: '%Y-%m-%d',
- TimeFormatSettingsNames.date_time_format.value: '%Y-%m-%d %H:%M:%S.%f',
- TimeFormatSettingsNames.date_time_log_format.value: '%Y-%m-%d_%H-%M-%S'
- }
-
- settings = TimeFormatSettings()
- settings.from_dict(test_dict)
-
- self.assertIsNotNone(settings)
-
- self.assertEqual(test_dict[TimeFormatSettingsNames.date_format.value], settings.date_format)
- self.assertEqual(test_dict[TimeFormatSettingsNames.time_format.value], settings.time_format)
- self.assertEqual(test_dict[TimeFormatSettingsNames.date_time_format.value], settings.date_time_format)
- self.assertEqual(test_dict[TimeFormatSettingsNames.date_time_log_format.value], settings.date_time_log_format)
diff --git a/src_old/tests/utils_test/__init__.py b/src_old/tests/utils_test/__init__.py
deleted file mode 100644
index e69de29b..00000000
diff --git a/src_old/tests/utils_test/credential_manager_test.py b/src_old/tests/utils_test/credential_manager_test.py
deleted file mode 100644
index 204f1283..00000000
--- a/src_old/tests/utils_test/credential_manager_test.py
+++ /dev/null
@@ -1,37 +0,0 @@
-import base64
-import unittest
-
-from sh_edraft.utils import CredentialManager
-
-
-class CredentialManagerTest(unittest.TestCase):
-
- def setUp(self): pass
-
- def test_encode(self):
- test_string = 'Hello World'
- expected_test_result = base64.b64encode(test_string.encode('utf-8')).decode('utf-8')
-
- test_result = CredentialManager.encrypt(test_string)
-
- self.assertIsNotNone(test_result)
- self.assertEqual(expected_test_result, test_result)
-
- def test_decode(self):
- test_string = 'SGVsbG8gV29ybGQ='
- expected_test_result = base64.b64decode(test_string).decode('utf-8')
-
- test_result = CredentialManager.decrypt(test_string)
-
- self.assertIsNotNone(test_result)
- self.assertEqual(expected_test_result, test_result)
-
- def test_build_string(self):
- test_string = 'String is $credentials'
- test_credentials = 'SGVsbG8gV29ybGQ='
- expected_test_result = test_string.replace('$credentials', base64.b64decode(test_credentials).decode('utf-8'))
-
- test_result = CredentialManager.build_string(test_string, test_credentials)
-
- self.assertIsNotNone(test_result)
- self.assertEqual(expected_test_result, test_result)
diff --git a/src_old/tests_dev/__init__.py b/src_old/tests_dev/__init__.py
deleted file mode 100644
index caf789c0..00000000
--- a/src_old/tests_dev/__init__.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-tests_dev
-~~~~~~~~~~~~~~~~~~~
-
-
-
-:copyright: (c) 2020 sh-edraft.de
-:license: MIT, see LICENSE for more details.
-
-"""
-
-__title__ = 'tests_dev'
-__author__ = 'Sven Heidemann'
-__license__ = 'MIT'
-__copyright__ = 'Copyright (c) 2020 sh-edraft.de'
-__version__ = '2020.12.9'
-
-from collections import namedtuple
-
-# imports:
-
-VersionInfo = namedtuple('VersionInfo', 'major minor micro')
-version_info = VersionInfo(major=2020, minor=12, micro=9)
diff --git a/src_old/tests_dev/app.py b/src_old/tests_dev/app.py
deleted file mode 100644
index ed8adc61..00000000
--- a/src_old/tests_dev/app.py
+++ /dev/null
@@ -1,2 +0,0 @@
-class App:
- pass
diff --git a/src_old/tests_dev/appsettings.development.json b/src_old/tests_dev/appsettings.development.json
deleted file mode 100644
index d134912e..00000000
--- a/src_old/tests_dev/appsettings.development.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "LoggingSettings": {
- "Path": "logs/",
- "Filename": "log_$start_time.log",
- "ConsoleLogLevel": "TRACE",
- "FileLogLevel": "TRACE"
- },
-
- "DatabaseSettings": {
- "ConnectionString": "mysql+mysqlconnector://sh_cpl:$credentials@localhost/sh_cpl",
- "Credentials": "MHZhc0Y2bjhKc1VUMWV0Qw==",
- "Encoding": "utf8mb4"
- }
-}
\ No newline at end of file
diff --git a/src_old/tests_dev/appsettings.edrafts-lapi.json b/src_old/tests_dev/appsettings.edrafts-lapi.json
deleted file mode 100644
index 0b2e194a..00000000
--- a/src_old/tests_dev/appsettings.edrafts-lapi.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "TimeFormatSettings": {
- "DateFormat": "%Y-%m-%d",
- "TimeFormat": "%H:%M:%S",
- "DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
- "DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
- },
- "LoggingSettings": {
- "Path": "logs/",
- "Filename": "log_$start_time.log",
- "ConsoleLogLevel": "TRACE",
- "FileLogLevel": "TRACE"
- },
- "EMailClientSettings": {
- "Host": "mail.sh-edraft.de",
- "Port": "587",
- "UserName": "dev-srv@sh-edraft.de",
- "Credentials": "RmBOQX1eNFYiYjgsSid3fV1nelc2WA=="
- },
- "PublishSettings": {
- "SourcePath": "../",
- "DistPath": "../../dist",
- "Templates": [
- {
- "TemplatePath": "../../publish_templates/all_template.txt",
- "Name": "all",
- "Description": "",
- "LongDescription": "",
- "CopyrightDate": "2020",
- "CopyrightName": "sh-edraft.de",
- "LicenseName": "MIT",
- "LicenseDescription": ", see LICENSE for more details.",
- "Title": "",
- "Author": "Sven Heidemann",
- "Version": {
- "Major": 2020,
- "Minor": 12,
- "Micro": 9
- }
- },
- {
- "TemplatePath": "../../publish_templates/all_template.txt",
- "Name": "sh_edraft",
- "Description": "common python library",
- "LongDescription": "Library to share common classes and models used at sh-edraft.de",
- "CopyrightDate": "2020",
- "CopyrightName": "sh-edraft.de",
- "LicenseName": "MIT",
- "LicenseDescription": ", see LICENSE for more details.",
- "Title": "",
- "Author": "Sven Heidemann",
- "Version": {
- "Major": 2020,
- "Minor": 12,
- "Micro": 9
- }
- }
- ],
- "IncludedFiles": [],
- "ExcludedFiles": [],
- "TemplateEnding": "_template.txt"
- }
-}
\ No newline at end of file
diff --git a/src_old/tests_dev/appsettings.edrafts-pc.json b/src_old/tests_dev/appsettings.edrafts-pc.json
deleted file mode 100644
index 0b2e194a..00000000
--- a/src_old/tests_dev/appsettings.edrafts-pc.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "TimeFormatSettings": {
- "DateFormat": "%Y-%m-%d",
- "TimeFormat": "%H:%M:%S",
- "DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
- "DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
- },
- "LoggingSettings": {
- "Path": "logs/",
- "Filename": "log_$start_time.log",
- "ConsoleLogLevel": "TRACE",
- "FileLogLevel": "TRACE"
- },
- "EMailClientSettings": {
- "Host": "mail.sh-edraft.de",
- "Port": "587",
- "UserName": "dev-srv@sh-edraft.de",
- "Credentials": "RmBOQX1eNFYiYjgsSid3fV1nelc2WA=="
- },
- "PublishSettings": {
- "SourcePath": "../",
- "DistPath": "../../dist",
- "Templates": [
- {
- "TemplatePath": "../../publish_templates/all_template.txt",
- "Name": "all",
- "Description": "",
- "LongDescription": "",
- "CopyrightDate": "2020",
- "CopyrightName": "sh-edraft.de",
- "LicenseName": "MIT",
- "LicenseDescription": ", see LICENSE for more details.",
- "Title": "",
- "Author": "Sven Heidemann",
- "Version": {
- "Major": 2020,
- "Minor": 12,
- "Micro": 9
- }
- },
- {
- "TemplatePath": "../../publish_templates/all_template.txt",
- "Name": "sh_edraft",
- "Description": "common python library",
- "LongDescription": "Library to share common classes and models used at sh-edraft.de",
- "CopyrightDate": "2020",
- "CopyrightName": "sh-edraft.de",
- "LicenseName": "MIT",
- "LicenseDescription": ", see LICENSE for more details.",
- "Title": "",
- "Author": "Sven Heidemann",
- "Version": {
- "Major": 2020,
- "Minor": 12,
- "Micro": 9
- }
- }
- ],
- "IncludedFiles": [],
- "ExcludedFiles": [],
- "TemplateEnding": "_template.txt"
- }
-}
\ No newline at end of file
diff --git a/src_old/tests_dev/appsettings.json b/src_old/tests_dev/appsettings.json
deleted file mode 100644
index fd8ddf6c..00000000
--- a/src_old/tests_dev/appsettings.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "TimeFormatSettings": {
- "DateFormat": "%Y-%m-%d",
- "TimeFormat": "%H:%M:%S",
- "DateTimeFormat": "%Y-%m-%d %H:%M:%S.%f",
- "DateTimeLogFormat": "%Y-%m-%d_%H-%M-%S"
- },
-
- "LoggingSettings": {
- "Path": "logs/",
- "Filename": "log_$start_time.log",
- "ConsoleLogLevel": "ERROR",
- "FileLogLevel": "WARN"
- }
-}
\ No newline at end of file
diff --git a/src_old/tests_dev/main.py b/src_old/tests_dev/main.py
deleted file mode 100644
index cfb45c60..00000000
--- a/src_old/tests_dev/main.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from tests_dev.program import Program
-
-if __name__ == '__main__':
- program = Program()
- program.create_application_host()
- program.create_configuration()
- program.create_services()
- program.main()
diff --git a/src_old/tests_dev/program.py b/src_old/tests_dev/program.py
deleted file mode 100644
index e08eadbe..00000000
--- a/src_old/tests_dev/program.py
+++ /dev/null
@@ -1,87 +0,0 @@
-from typing import Optional
-
-from sh_edraft.configuration.base import ConfigurationBase
-from sh_edraft.console import Console
-from sh_edraft.database.context import DatabaseContext
-from sh_edraft.database.model import DatabaseSettings
-from sh_edraft.hosting import ApplicationHost
-from sh_edraft.hosting.base import ApplicationBase
-from sh_edraft.logging import Logger
-from sh_edraft.logging.base import LoggerBase
-from sh_edraft.mailing.base import EMailClientBase
-from sh_edraft.mailing import EMailClient
-from sh_edraft.mailing.model import EMail
-from sh_edraft.service.providing.base import ServiceProviderBase
-from sh_edraft.utils import CredentialManager
-
-from tests_dev.db.user_repo import UserRepo
-from tests_dev.db.user_repo_base import UserRepoBase
-
-
-class Program(ApplicationBase):
-
- def __init__(self):
- ApplicationBase.__init__(self)
-
- self._app_host: Optional[ApplicationHost] = None
- self._services: Optional[ServiceProviderBase] = None
- self._configuration: Optional[ConfigurationBase] = None
- self._logger: Optional[LoggerBase] = None
- self._mailer: Optional[EMailClientBase] = None
-
- def create_application_host(self):
- self._app_host = ApplicationHost()
- self._configuration = self._app_host.configuration
- self._services = self._app_host.services
-
- def create_configuration(self):
- self._configuration.add_environment_variables('PYTHON_')
- self._configuration.add_environment_variables('CPL_')
- self._configuration.add_argument_variables()
- self._configuration.add_json_file(f'appsettings.json')
- self._configuration.add_json_file(f'appsettings.{self._configuration.environment.environment_name}.json')
- self._configuration.add_json_file(f'appsettings.{self._configuration.environment.host_name}.json', optional=True)
-
- def create_services(self):
- # Create and connect to database
- db_settings: DatabaseSettings = self._configuration.get_configuration(DatabaseSettings)
- self._services.add_db_context(DatabaseContext)
- db: DatabaseContext = self._services.get_db_context()
- db.connect(CredentialManager.build_string(db_settings.connection_string, db_settings.credentials))
-
- self._services.add_scoped(UserRepoBase, UserRepo)
-
- # Add and create logger
- self._services.add_singleton(LoggerBase, Logger)
- self._logger = self._services.get_service(LoggerBase)
-
- self._services.add_singleton(EMailClientBase, EMailClient)
- self._mailer = self._services.get_service(EMailClientBase)
-
- def test_send_mail(self):
- mail = EMail()
- mail.add_header('Mime-Version: 1.0')
- mail.add_header('Content-Type: text/plain; charset=utf-8')
- mail.add_header('Content-Transfer-Encoding: quoted-printable')
- mail.add_receiver('edraft.sh@gmail.com')
- mail.add_receiver('edraft@sh-edraft.de')
- mail.subject = f'Test - {self._configuration.environment.host_name}'
- mail.body = 'Dies ist ein Test :D'
- self._mailer.send_mail(mail)
-
- def test_console(self):
- self._logger.debug(__name__, 'Started console test')
- Console.write_line('Hello World')
- Console.write('\nName: ')
- Console.write_line('Hello', Console.read_line())
- Console.clear()
- Console.write_at(5, 5, 'at 5, 5')
- Console.write_at(10, 10, 'at 10, 10')
-
- def main(self):
- self._logger.header(f'{self._configuration.environment.application_name}:')
- self._logger.debug(__name__, f'Host: {self._configuration.environment.host_name}')
- self._logger.debug(__name__, f'Environment: {self._configuration.environment.environment_name}')
- self._logger.debug(__name__, f'Customer: {self._configuration.environment.customer}')
- self._services.get_service(UserRepoBase).add_test_user()
- self.test_console()