py.lib.aw_config

Yohn Y. 2024-10-30 Parent:b0e747c8cb69 Child:70acdf1e4829

12:75523df5b946 Browse Files

. Оптимизация изменения 493b42d1 и распространение его ещё и на разбор файлов конфигураций.

src/aw_config/env.py src/aw_config/file.py

     1.1 --- a/src/aw_config/env.py	Wed Oct 30 10:57:17 2024 +0300
     1.2 +++ b/src/aw_config/env.py	Wed Oct 30 13:40:41 2024 +0300
     1.3 @@ -20,8 +20,11 @@
     1.4          raise EnvConfigError(name, f'Ошибка преобразования типа - {e}')
     1.5  
     1.6      except KeyError:
     1.7 -        if default is _UNDEFINED and mandatory:
     1.8 +        if default is not _UNDEFINED:
     1.9 +            return default
    1.10 +
    1.11 +        elif mandatory:
    1.12              raise EnvConfigError(name, 'Не установлен параметр')
    1.13  
    1.14 -        elif default is not _UNDEFINED:
    1.15 -            return default
    1.16 +        else:
    1.17 +            return None
     2.1 --- a/src/aw_config/file.py	Wed Oct 30 10:57:17 2024 +0300
     2.2 +++ b/src/aw_config/file.py	Wed Oct 30 13:40:41 2024 +0300
     2.3 @@ -61,11 +61,14 @@
     2.4                            параметра будет использовано значение None
     2.5          """
     2.6          if name not in self.d:
     2.7 -            if mandatory and default is _UNDEFINED:
     2.8 +            if default is not _UNDEFINED:
     2.9 +                return default
    2.10 +
    2.11 +            elif mandatory:
    2.12                  raise ConfigFileError(self._format_err_msg(f'Параметр "{name}" в файле отсутствует'))
    2.13  
    2.14              else:
    2.15 -                return default
    2.16 +                return None
    2.17  
    2.18          else:
    2.19              _buf = self.d[name]