Refactor project structure and add new features

This commit is contained in:
Serge Zaigraeff
2025-10-23 00:42:09 +03:00
parent 144414fcf8
commit 852f7975b9
63 changed files with 8101 additions and 1341 deletions
+37
View File
@@ -0,0 +1,37 @@
"""
Модуль config.py содержит функции для управления конфигурацией приложения.
"""
import json
import os
import logging
from typing import Dict
logger = logging.getLogger('app.config')
def load_config(config_path: str) -> Dict:
"""
Загружает конфигурацию из JSON-файла.
Args:
config_path: Путь к файлу конфигурации.
Returns:
Словарь с параметрами конфигурации.
Raises:
FileNotFoundError: Если файл конфигурации не найден.
json.JSONDecodeError: Если файл конфигурации содержит некорректный JSON.
"""
try:
with open(config_path, "r", encoding="utf-8") as f:
config = json.load(f)
logger.info(f"Конфигурация успешно загружена из {config_path}")
return config
except FileNotFoundError as e:
logger.error(f"Файл конфигурации не найден: {e}")
raise
except json.JSONDecodeError as e:
logger.error(f"Ошибка при загрузке конфигурации: {e}")
raise