diff --git a/app/config.py b/app/config.py index 033e54c..0aa2e5f 100644 --- a/app/config.py +++ b/app/config.py @@ -1,4 +1,9 @@ -"""Настройки сервиса: читаются из config.toml рядом с исполняемым файлом.""" +"""Чтение настроек сервиса. + +ЭТО КОД, А НЕ НАСТРОЙКИ. Править нужно файл config.toml рядом со start.bat - +он создаётся при первом запуске и обновлением не затрагивается. Правки в этом +файле не подействуют (config.toml уже существует) и пропадут при обновлении. +""" import os import secrets import tomllib diff --git a/app/main.py b/app/main.py index 4531f8e..d939e7a 100644 --- a/app/main.py +++ b/app/main.py @@ -219,6 +219,11 @@ def run() -> None: print("\n Модели не найдены. Сначала запустите download_models.bat" "\n Сервис поднимется, но принимать записи не сможет.\n") + nets = len(allowlist) + access = f"только с {nets} адресов" if nets else "со ВСЕХ адресов" + print(f"\n Настройки: {settings.base_dir / 'config.toml'}" + f"\n Токен: {'задан' if settings.token else 'НЕ ЗАДАН, сервис никого не пустит'}" + f"\n Доступ: {access}") print(f"\n talkscore-asr слушает http://{settings.host}:{settings.port}" f"\n Потоков: {settings.effective_threads()}" f"\n Проверка: curl http://localhost:{settings.port}/health" diff --git a/app/version.py b/app/version.py index 1276d02..0a8da88 100644 --- a/app/version.py +++ b/app/version.py @@ -1 +1 @@ -__version__ = "0.1.5" +__version__ = "0.1.6" diff --git a/tests/test_api.py b/tests/test_api.py index a6ae0f4..38beb4a 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -148,3 +148,19 @@ class TestHealthDiagnostics: """Список разрешённых адресов - не для посторонних глаз.""" body = client.get("/health").json() assert "allow_ips" not in body and "allowlist" not in body + + +class TestConfigFileIsNotCode: + """Настройки правятся в config.toml; app/config.py - код и обновляется.""" + + def test_update_archive_never_carries_user_config(self): + from app.updater import USER_FILES + + assert "config.toml" in USER_FILES + + def test_config_module_warns_it_is_not_settings(self): + from pathlib import Path + + src = Path(__file__).resolve().parent.parent / "app" / "config.py" + text = src.read_text(encoding="utf-8") + assert "ЭТО КОД, А НЕ НАСТРОЙКИ" in text