fastsdcpu / app_settings.py
rupeshs's picture
updated models version
1b4e7ae
raw
history blame
No virus
2.12 kB
import yaml
from os import path, makedirs
from models.settings import Settings
from paths import FastStableDiffusionPaths
from utils import get_models_from_text_file
from constants import OPENVINO_LCM_MODELS_FILE, LCM_LORA_MODELS_FILE, SD_MODELS_FILE
class AppSettings:
def __init__(self):
self.config_path = FastStableDiffusionPaths().get_app_settings_path()
self._stable_diffsuion_models = ["Lykon/dreamshaper-7"]
self._lcm_lora_models = ["latent-consistency/lcm-lora-sdv1-5"]
self._openvino_lcm_models = ["rupeshs/LCM-dreamshaper-v7-openvino"]
@property
def settings(self):
return self._config
@property
def stable_diffsuion_models(self):
return self._stable_diffsuion_models
@property
def openvino_lcm_models(self):
return self._openvino_lcm_models
@property
def lcm_lora_models(self):
return self._lcm_lora_models
def load(self):
if not path.exists(self.config_path):
base_dir = path.dirname(self.config_path)
if not path.exists(base_dir):
makedirs(base_dir)
try:
print("Settings not found creating default settings")
with open(self.config_path, "w") as file:
yaml.dump(
self._load_default(),
file,
)
except Exception as ex:
print(f"Error in creating settings : {ex}")
exit()
try:
with open(self.config_path) as file:
settings_dict = yaml.safe_load(file)
self._config = Settings.parse_obj(settings_dict)
except Exception as ex:
print(f"Error in loading settings : {ex}")
def save(self):
try:
with open(self.config_path, "w") as file:
yaml.dump(self._config.dict(), file)
except Exception as ex:
print(f"Error in saving settings : {ex}")
def _load_default(self) -> dict:
defult_config = Settings()
return defult_config.dict()