Improved project structure

This commit is contained in:
2020-11-26 10:45:02 +01:00
parent ff2a7d9693
commit f2f797aaa3
30 changed files with 65 additions and 50 deletions

View File

@@ -0,0 +1,26 @@
# -*- 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.5'
from collections import namedtuple
# imports:
from .configuration_model_base import ConfigurationModelBase
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major=2020, minor=12, micro=5)

View File

@@ -0,0 +1,23 @@
from abc import abstractmethod
from collections import Callable
from sh_edraft.configuration.base.configuration_model_base import ConfigurationModelBase
from sh_edraft.service.base.service_base import ServiceBase
class ConfigurationBase(ServiceBase):
@abstractmethod
def __init__(self):
ServiceBase.__init__(self)
self._config: dict[type, object] = {}
@property
@abstractmethod
def config(self) -> dict[type, object]: pass
@abstractmethod
def add_config_by_type(self, key_type: type, value: object): pass
@abstractmethod
def get_config_by_type(self, search_type: ConfigurationModelBase) -> Callable[ConfigurationModelBase]: pass

View File

@@ -0,0 +1,7 @@
from abc import ABC, abstractmethod
class ConfigurationModelBase(ABC):
@abstractmethod
def from_dict(self, settings: dict): pass