b553c957f3
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
# utils/settings.py
|
|
import json
|
|
import os
|
|
from typing import List, Dict, Any
|
|
|
|
SETTINGS_FILE = "settings.json"
|
|
|
|
DEFAULT_SETTINGS = {
|
|
"comfyui_url": "http://127.0.0.1:8000", # Новый порт по умолчанию
|
|
"tracked_paths": [os.path.abspath("./test_output")]
|
|
}
|
|
|
|
def load_settings() -> Dict[str, Any]:
|
|
""" Загружает настройки из файла settings.json. """
|
|
if not os.path.exists(SETTINGS_FILE):
|
|
save_settings(DEFAULT_SETTINGS)
|
|
return DEFAULT_SETTINGS
|
|
try:
|
|
with open(SETTINGS_FILE, "r", encoding="utf-8") as f:
|
|
data = json.load(f)
|
|
# Заполняем пропущенные ключи значениями по умолчанию
|
|
for k, v in DEFAULT_SETTINGS.items():
|
|
if k not in data:
|
|
data[k] = v
|
|
return data
|
|
except Exception:
|
|
return DEFAULT_SETTINGS
|
|
|
|
def save_settings(settings: Dict[str, Any]):
|
|
""" Сохраняет настройки в файл settings.json. """
|
|
try:
|
|
with open(SETTINGS_FILE, "w", encoding="utf-8") as f:
|
|
json.dump(settings, f, indent=4, ensure_ascii=False)
|
|
except Exception as e:
|
|
print(f"Ошибка сохранения настроек: {e}") |