Spaces:
Build error
Build error
File size: 1,049 Bytes
f1f433f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
from pathlib import Path
import yaml
from ..utility import engine_root, get_save_dir
from .Setting import Setting
DEFAULT_SETTING_PATH: Path = engine_root() / "default_setting.yml"
USER_SETTING_PATH: Path = get_save_dir() / "setting.yml"
class SettingLoader:
def __init__(self, setting_file_path: Path) -> None:
self.setting_file_path = setting_file_path
def load_setting_file(self) -> Setting:
if not self.setting_file_path.is_file():
setting = yaml.safe_load(DEFAULT_SETTING_PATH.read_text(encoding="utf-8"))
else:
setting = yaml.safe_load(self.setting_file_path.read_text(encoding="utf-8"))
setting = Setting(
cors_policy_mode=setting["cors_policy_mode"],
allow_origin=setting["allow_origin"],
)
return setting
def dump_setting_file(self, settings: Setting) -> None:
settings_dict = settings.dict()
with open(self.setting_file_path, mode="w", encoding="utf-8") as f:
yaml.safe_dump(settings_dict, f)
|