44 lines
1.4 KiB
Python
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", {})
|