Resell1/modules/setting_manager.py

44 lines
1.4 KiB
Python

import json
import os
class SettingsManager:
"""
로컬 JSON 파일("settings.json")을 이용해 사용자 설정(로그인 정보, GUI 설정 등)을 저장/불러옵니다.
"""
def __init__(self, filename="settings.json"):
self.filename = filename
self.settings = {}
self.load_settings()
def load_settings(self):
try:
if os.path.exists(self.filename):
with open(self.filename, "r", encoding="utf-8") as f:
self.settings = json.load(f)
else:
self.settings = {}
except Exception as e:
print("설정 불러오기 오류:", e)
self.settings = {}
def save_settings(self):
try:
with open(self.filename, "w", encoding="utf-8") as f:
json.dump(self.settings, f, indent=4, ensure_ascii=False)
except Exception as e:
print("설정 저장 중 오류 발생:", e)
def save_user_info(self, user_info: dict):
self.settings["user"] = user_info
self.save_settings()
def load_user_info(self) -> dict:
return self.settings.get("user", {})
def save_gui_settings(self, gui_settings: dict):
self.settings["gui"] = gui_settings
self.save_settings()
def load_gui_settings(self) -> dict:
return self.settings.get("gui", {})