Added generic typing to configuration #141

This commit is contained in:
2022-12-07 13:06:50 +01:00
parent 68e01afb5b
commit 6d2492c1cf
3 changed files with 10 additions and 7 deletions

View File

@@ -22,6 +22,7 @@ from cpl_core.dependency_injection.service_provider_abc import ServiceProviderAB
from cpl_core.environment.application_environment import ApplicationEnvironment
from cpl_core.environment.application_environment_abc import ApplicationEnvironmentABC
from cpl_core.environment.environment_name_enum import EnvironmentNameEnum
from cpl_core.typing import T
class Configuration(ConfigurationABC):
@@ -267,7 +268,7 @@ class Configuration(ConfigurationABC):
configuration.from_dict(value)
self.add_configuration(sub, configuration)
def add_configuration(self, key_type: Union[str, type], value: Union[str, ConfigurationModelABC]):
def add_configuration(self, key_type: Union[str, type], value: any):
self._config[key_type] = value
def create_console_argument(self, arg_type: ArgumentTypeEnum, token: str, name: str, aliases: list[str],
@@ -280,8 +281,7 @@ class Configuration(ConfigurationABC):
for arg in self._argument_types:
call(arg)
def get_configuration(self, search_type: Union[str, Type[ConfigurationModelABC]]) -> \
Optional[Union[str, ConfigurationModelABC]]:
def get_configuration(self, search_type: Type[T]) -> Optional[T]:
if type(search_type) is str:
if search_type == ConfigurationVariableNameEnum.environment.value:
return self._application_environment.environment_name