Refactored code
This commit is contained in:
		
							
								
								
									
										27
									
								
								src_old/sh_edraft/configuration/base/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src_old/sh_edraft/configuration/base/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| # -*- 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) | ||||
							
								
								
									
										34
									
								
								src_old/sh_edraft/configuration/base/configuration_base.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								src_old/sh_edraft/configuration/base/configuration_base.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| 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 | ||||
| @@ -0,0 +1,10 @@ | ||||
| from abc import ABC, abstractmethod | ||||
|  | ||||
|  | ||||
| class ConfigurationModelBase(ABC): | ||||
|  | ||||
|     @abstractmethod | ||||
|     def __init__(self): pass | ||||
|  | ||||
|     @abstractmethod | ||||
|     def from_dict(self, settings: dict): pass | ||||
		Reference in New Issue
	
	Block a user