EJIO.utils.config package

Submodules

EJIO.utils.config.err module

exception EJIO.utils.config.err.RequirementsError(message: str)[исходный код]

Базовые классы: UtilsBaseError

Исключение, связанное с отсутствием требуемых параметров приложения.

EJIO.utils.config.inject module

EJIO.utils.config.inject.inject_to_builtins(mapping: dict[str, Any], /) → None[исходный код]
EJIO.utils.config.inject.inject_to_builtins(name: str, attribute: Any, /) → None

Универсальная функция для инъекции атрибутов во встроенное пространство имен builtins.

Параметры:
  • first – Словарь с объектами или ключ для регистрации.

  • second – Объект для регистрации в случае, если первый аргумент - ключ.

Исключение:

TypeError – Если первый аргумент не словарь и не строка.

EJIO.utils.config.validate module

EJIO.utils.config.validate.isset(context: Mapping[str, Any] | ModuleType, key: str) → bool[исходный код]

Проверяет, существует ли переменная в переданном контексте и что её значение не равно None.

Пример:

if not isset(globals(), «DATABASE_URL»):

print(«Внимание: DATABASE_URL не настроена!»)

context = os.environ if isset(context, «PORT»):

print(f»Приложение будет запущено на порту {context[„PORT“]}»)

Параметры:
  • context – Словарь или объект Mapping (например, os.environ или locals()) или модуль.

  • key – Имя проверяемой переменной (ключ).

Результат:

True, если ключ присутствует и значение не None, иначе False.

EJIO.utils.config.validate.require(context: Mapping[str, R] | ModuleType, key: str, error_message: str | None = None) → R[исходный код]

Проверяет наличие переменной в контексте. Если переменная отсутствует или равна None, генерирует исключение RequirementsError.

Пример:

try:

api_token = require(globals(), «API_KEY», «Критическая ошибка: Без API_KEY приложение не запустится!»)

except RequirementsError as e:

print(f»Ошибка инициализации: {e}»)

context = os.environ try:

secret_key = require(context, «OS_SECRET_KEY»)

except RequirementsError as e:

print(f»Старт заблокирован: {e}»)

Параметры:
  • context – Словарь или объект Mapping (например, os.environ или locals()) или модуль.

  • key – Имя обязательной переменной.

  • error_message – Кастомное сообщение об ошибке.

Результат:

Значение переменной, если проверка успешна.

Исключение:

RequirementsError – Если переменная отсутствует или равна None.

Module contents

EJIO.utils.config.inject_to_builtins(mapping: dict[str, Any], /) → None[исходный код]
EJIO.utils.config.inject_to_builtins(name: str, attribute: Any, /) → None

Универсальная функция для инъекции атрибутов во встроенное пространство имен builtins.

Параметры:
  • first – Словарь с объектами или ключ для регистрации.

  • second – Объект для регистрации в случае, если первый аргумент - ключ.

Исключение:

TypeError – Если первый аргумент не словарь и не строка.

EJIO.utils.config.isset(context: Mapping[str, Any] | ModuleType, key: str) → bool[исходный код]

Проверяет, существует ли переменная в переданном контексте и что её значение не равно None.

Пример:

if not isset(globals(), «DATABASE_URL»):

print(«Внимание: DATABASE_URL не настроена!»)

context = os.environ if isset(context, «PORT»):

print(f»Приложение будет запущено на порту {context[„PORT“]}»)

Параметры:
  • context – Словарь или объект Mapping (например, os.environ или locals()) или модуль.

  • key – Имя проверяемой переменной (ключ).

Результат:

True, если ключ присутствует и значение не None, иначе False.

EJIO.utils.config.require(context: Mapping[str, R] | ModuleType, key: str, error_message: str | None = None) → R[исходный код]

Проверяет наличие переменной в контексте. Если переменная отсутствует или равна None, генерирует исключение RequirementsError.

Пример:

try:

api_token = require(globals(), «API_KEY», «Критическая ошибка: Без API_KEY приложение не запустится!»)

except RequirementsError as e:

print(f»Ошибка инициализации: {e}»)

context = os.environ try:

secret_key = require(context, «OS_SECRET_KEY»)

except RequirementsError as e:

print(f»Старт заблокирован: {e}»)

Параметры:
  • context – Словарь или объект Mapping (например, os.environ или locals()) или модуль.

  • key – Имя обязательной переменной.

  • error_message – Кастомное сообщение об ошибке.

Результат:

Значение переменной, если проверка успешна.

Исключение:

RequirementsError – Если переменная отсутствует или равна None.