Configurator

class dublib.Engine.Configurator.Config(*args, **kwargs)[исходный код]

Контейнер конфигурации.

property data: dict

Глубокая копия словаря параметров.

disable_sync()[исходный код]

Отключает отслеживание изменений в файле конфигурации.

Демон остаётся функционировать до следующего изменения файла, но загрузку изменений и вызов Callback-функции пропустит. Это связано с отсутствием в Python механизмов прерывания потоков.

enable_sync(callback: Callable | None = None)[исходный код]

Включает отслеживание изменений в файле конфигурации.

При отключении синхронизации демон остаётся функционировать до следующего изменения файла, но загрузку изменений пропустит. Это связано с отсутствием в Python механизмов прерывания потоков.

Параметры:

callback (Callable | None) – Функция, вызываемая при обнаружении изменений в файле конфигурации.

get(key: str, copy: bool = True, default: Any = <object object>) Any[исходный код]

Возвращает значение параметра.

Параметры:
  • key (str) – Ключ параметра.

  • copy (bool) – Указывает, нужно ли вернуть копию для изменяемых типов (dict, list). Не рекомендуется отключать без острой необходимости прямой манипуляции объектами.

  • default (Any) – Значение по умолчанию. При указании вместо выброса исключения будет возвращено данное значение.

Результат:

Значение параметра.

Тип результата:

Any

Исключение:

KeyError – Выбрасывается при отсутствии параметра с указанным ключом.

load(validate: bool = True)[исходный код]

Загружает параметры из файла JSON.

Параметры:

validate (bool) – Если указана модель и включен этот параметр, будет проведена валидация прочитанного файла.

Исключение:

pydantic.ValidationError – Выбрасывается при ошибке валидации.

property path: PathLike

Путь к файлу параметров.

save()[исходный код]

Записывает изменения параметров в файл.

set(key: str, value: Any)[исходный код]

Задаёт значение параметра. Если файл параметров не загружался, будет создан новый.

Параметры:
  • key (str) – Ключ параметра.

  • value (Any) – Значение параметра.

set_data(data: dict, validate: bool = True)[исходный код]

Задаёт словарь параметров.

Параметры:
  • data (dict) – Словарь параметров.

  • validate (bool) – Если указана модель и включен этот параметр, будет проведена валидация данных.

Исключение:

pydantic.ValidationError – Выбрасывается при ошибке валидации.

set_model(model: BaseModel | None)[исходный код]

Задаёт модель валидации pydantic.

Параметры:

model (BaseModel | None) – Модель для валидации.

unload()[исходный код]

Выгружает контейнер из памяти.

validate(model: BaseModel | None = None)[исходный код]

Проводит валидацию параметров согласно модели pydantic.

Параметры:

model (BaseModel | None) – Модель для валидации.

Исключение:
  • pydantic.ValidationError – Выбрасывается при ошибке валидации.

  • TypeError – Выбрасывается при отсутствии модели для валидации.