feat(settings): skip previously downloaded model versions

This commit is contained in:
Will Miao
2026-04-03 19:01:19 +08:00
parent 33a7f07558
commit d36b16c213
18 changed files with 302 additions and 11 deletions

View File

@@ -91,6 +91,7 @@ DEFAULT_SETTINGS: Dict[str, Any] = {
"update_flag_strategy": "same_base",
"auto_organize_exclusions": [],
"metadata_refresh_skip_paths": [],
"skip_previously_downloaded_model_versions": False,
"download_skip_base_models": [],
}
@@ -314,6 +315,10 @@ class SettingsManager:
self.settings["download_skip_base_models"] = []
inserted_defaults = True
if "skip_previously_downloaded_model_versions" not in self.settings:
self.settings["skip_previously_downloaded_model_versions"] = False
inserted_defaults = True
had_mature_level = "mature_blur_level" in self.settings
raw_mature_level = self.settings.get("mature_blur_level")
normalized_mature_level = self.normalize_mature_blur_level(raw_mature_level)
@@ -1090,6 +1095,17 @@ class SettingsManager:
self._save_settings()
return base_models
def get_skip_previously_downloaded_model_versions(self) -> bool:
value = self.settings.get("skip_previously_downloaded_model_versions", False)
if isinstance(value, bool):
return value
normalized = False
if isinstance(value, str):
normalized = value.strip().lower() in {"1", "true", "yes", "on"}
self.settings["skip_previously_downloaded_model_versions"] = normalized
self._save_settings()
return normalized
def get_extra_folder_paths(self) -> Dict[str, List[str]]:
"""Get extra folder paths for the active library.