Add getall/getrawall for nested params, ROOT_KEY constant, tests and docs

This commit is contained in:
2026-04-15 20:04:04 +03:00
parent b8f34faff7
commit 3beccbf35e
6 changed files with 235 additions and 49 deletions

View File

@@ -3,17 +3,12 @@
## Требования
- Python >3.10
- Все консольные выводы дублируются в логах
## Структура
## Установка
- `app/` - точка входа (komAI.py)
- `src/` - исходный код
- `src/__init__.py` - централизованный API
- `config/` - YAML конфигурация
- `tests/` - юнит-тесты
- `modules/` - подключаемые модули
- `log/` - файлы логов
```bash
pip install -r requirements.txt
```
## Быстрый старт
@@ -21,8 +16,42 @@
python -m app.komAI
```
## Структура
- `app/` - точка входа приложения
- `src/` - исходный код
- `config/` - YAML конфигурация
- `modules/` - подключаемые модули
- `tests/` - юнит-тесты
- `log/` - файлы логов
- `doc/` - документация
## Конфигурация
- Файл: `config/global.yaml`
- Параметры регистрируются модулями при инициализации
- Сохранение: `from src import save_config; save_config()`
Модуль `config_manager` управляет конфигурацией с регистрацией параметров.
```python
import src.utils.config_manager
config = src.utils.config_manager.config
# Регистрация параметра
config.register(name="app_name", val="komAI", desc="Наименование проекта", cat="app")
# Получение значения
config.get("app_name", cat="app")
# Сохранение в файл
config.save()
```
См. [doc/src.utils.config_manager.md](doc/src.utils.config_manager.md) для подробной документации.
## Логирование
Все консольные выводы дублируются в логах. Настройка логирования в `config/global.yaml`.
## Тесты
```bash
python -m tests.test_config_manager
```