py.lib.aw_config
py.lib.aw_config/src/aw_config/env.py
+ Добавлен объект, отвечающий за неопределённое состояние параметра, для отличия от заданного пользователем неопределённого значения (присвоенного `None`) параметра.
1.1 --- a/src/aw_config/env.py Sun May 05 15:03:17 2024 +0300 1.2 +++ b/src/aw_config/env.py Tue May 14 09:44:41 2024 +0300 1.3 @@ -2,7 +2,9 @@ 1.4 1.5 from os import environ as sysenv 1.6 from typing import Optional, Any 1.7 + 1.8 from .error import Error 1.9 +from ._lib import _UNDEFINED 1.10 1.11 1.12 class EnvConfigError(Error): 1.13 @@ -10,7 +12,7 @@ 1.14 super().__init__(f'Ошибка в параметре: {param_name} - {message}') 1.15 1.16 1.17 -def get_env(name: str, type_name: type, default: Optional[Any] = None, mandatory: bool = False): 1.18 +def get_env(name: str, type_name: type, default: Optional[Any] = _UNDEFINED, mandatory: bool = False): 1.19 try: 1.20 return type_name(sysenv[name]) 1.21 1.22 @@ -18,7 +20,7 @@ 1.23 raise EnvConfigError(name, f'Ошибка преобразования типа - {e}') 1.24 1.25 except KeyError: 1.26 - if default is None and not mandatory: 1.27 + if default is _UNDEFINED and mandatory: 1.28 raise EnvConfigError(name, 'Не установлен параметр') 1.29 1.30 else: