summaryrefslogtreecommitdiff
path: root/py_modules
diff options
context:
space:
mode:
Diffstat (limited to 'py_modules')
-rw-r--r--py_modules/lsfg_vk/installation.py25
1 files changed, 16 insertions, 9 deletions
diff --git a/py_modules/lsfg_vk/installation.py b/py_modules/lsfg_vk/installation.py
index 5a583f5..a73706c 100644
--- a/py_modules/lsfg_vk/installation.py
+++ b/py_modules/lsfg_vk/installation.py
@@ -122,17 +122,24 @@ class InstallationService(BaseService):
if missing:
raise OSError("Archive is missing required files: " + ", ".join(missing))
+ def _default_config(self) -> ProfileData:
+ defaults = ConfigurationManager.get_defaults()
+ return ProfileData(
+ profiles={},
+ global_config={"dll": defaults["dll"], "no_fp16": defaults["no_fp16"]},
+ )
+
def _prepare_config(self) -> ProfileData:
- if self.config_file_path.exists():
- profile_data = ConfigurationManager.parse_toml_content_multi_profile(
- self.config_file_path.read_text(encoding="utf-8")
- )
- else:
- defaults = ConfigurationManager.get_defaults()
- profile_data = ProfileData(
- profiles={},
- global_config={"dll": defaults["dll"], "no_fp16": defaults["no_fp16"]},
+ try:
+ profile_data = (
+ ConfigurationManager.parse_toml_content_multi_profile(
+ self.config_file_path.read_text(encoding="utf-8")
+ )
+ if self.config_file_path.exists()
+ else self._default_config()
)
+ except ValueError:
+ profile_data = self._default_config()
self._resolve_dll_path(profile_data)
defaults = ConfigurationManager.get_defaults()
for name, profile in profile_data["profiles"].items():