From 6c1d59d367d27c14b7f4efa318bdb474846a64ad Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 15 Jun 2024 16:31:55 -0400 Subject: [PATCH] civitai download validate name --- extensions-builtin/Lora/network_overrides.py | 8 +++++--- extensions-builtin/Lora/networks.py | 5 ++++- modules/modelloader.py | 4 ++++ modules/ui_models.py | 2 +- wiki | 2 +- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/extensions-builtin/Lora/network_overrides.py b/extensions-builtin/Lora/network_overrides.py index 724e47c70..943575630 100644 --- a/extensions-builtin/Lora/network_overrides.py +++ b/extensions-builtin/Lora/network_overrides.py @@ -24,10 +24,12 @@ force_diffusers = [ 'c2ec22757b46', # flash-sd15 ] -def check_override(shorthash): +def check_override(shorthash=''): + force = False + force = force or (shared.sd_model_type == 'sd3') # TODO sd3 forced diffusers for lora load if len(shorthash) < 4: - return False - force = any(x.startswith(shorthash) for x in maybe_diffusers) if shared.opts.lora_maybe_diffusers else False + return force + force = force or (any(x.startswith(shorthash) for x in maybe_diffusers) if shared.opts.lora_maybe_diffusers else False) force = force or any(x.startswith(shorthash) for x in force_diffusers) if force and shared.opts.lora_maybe_diffusers: shared.log.debug('LoRA override: force diffusers') diff --git a/extensions-builtin/Lora/networks.py b/extensions-builtin/Lora/networks.py index e564e2b67..4e45a86bd 100644 --- a/extensions-builtin/Lora/networks.py +++ b/extensions-builtin/Lora/networks.py @@ -87,7 +87,10 @@ def load_diffusers(name, network_on_disk, lora_scale=1.0) -> network.Network: return cached if not shared.native: return None - shared.sd_model.load_lora_weights(network_on_disk.filename) + try: + shared.sd_model.load_lora_weights(network_on_disk.filename) + except Exception as e: + errors.display(e, "LoRA") if shared.opts.lora_fuse_diffusers: shared.sd_model.fuse_lora(lora_scale=lora_scale) net = network.Network(name, network_on_disk) diff --git a/modules/modelloader.py b/modules/modelloader.py index fa27ede6d..faf206d11 100644 --- a/modules/modelloader.py +++ b/modules/modelloader.py @@ -152,6 +152,10 @@ def download_civit_model_thread(model_name, model_url, model_path, model_type, t def download_civit_model(model_url: str, model_name: str, model_path: str, model_type: str, token: str = None): import threading + if model_name is None or len(model_name) == 0: + err = 'Model download: no target model name provided' + shared.log.error(err) + return err thread = threading.Thread(target=download_civit_model_thread, args=(model_name, model_url, model_path, model_type, token)) thread.start() return f'Model download: name={model_name} url={model_url} path={model_path}' diff --git a/modules/ui_models.py b/modules/ui_models.py index c7fa8425b..d29f2f404 100644 --- a/modules/ui_models.py +++ b/modules/ui_models.py @@ -431,7 +431,7 @@ def create_ui(): r = req(url) log.debug(f'CivitAI search: name="{name}" tag={tag or "none"} url="{url}" status={r.status_code}') if r.status_code != 200: - return [], [], [] + return [], gr.update(visible=False, value=[]), gr.update(visible=False, value=None), gr.update(visible=False, value=None) body = r.json() nonlocal data data = body.get('items', []) diff --git a/wiki b/wiki index 0db3587f4..23dc2fc80 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 0db3587f4491680cbedb20282a6d3dd52e1d5769 +Subproject commit 23dc2fc800495d20319ea19ebf8e3fb8a52c1ce6