""" Загрузка и сохранение пользовательских настроек (settings.json рядом с проектом). """ import json import logging from typing import Dict, Any from comfy_studio.core.config import SETTINGS_PATH, DEFAULT_COMFYUI_URL logger = logging.getLogger(__name__) DEFAULT_SETTINGS: Dict[str, Any] = { "comfyui_url": DEFAULT_COMFYUI_URL, "tracked_paths": [], "language": "ru", # "ru" | "en" "thumbnail_size": 130, "translate_languages": ["ru", "en"], # языки в контекстном меню перевода } def load_settings() -> Dict[str, Any]: """Загружает настройки, недостающие ключи добираются из DEFAULT_SETTINGS.""" if not SETTINGS_PATH.exists(): save_settings(DEFAULT_SETTINGS) return dict(DEFAULT_SETTINGS) try: with open(SETTINGS_PATH, "r", encoding="utf-8") as f: data = json.load(f) for k, v in DEFAULT_SETTINGS.items(): data.setdefault(k, v) return data except Exception as e: logger.error(f"Ошибка чтения настроек: {e}") return dict(DEFAULT_SETTINGS) def save_settings(settings: Dict[str, Any]) -> bool: try: with open(SETTINGS_PATH, "w", encoding="utf-8") as f: json.dump(settings, f, indent=4, ensure_ascii=False) return True except Exception as e: logger.error(f"Ошибка сохранения настроек: {e}") return False