From 78f843f9691ef620979cd8803525f8d64c9b8e49 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 1 Aug 2026 09:10:15 +0200 Subject: [PATCH] networks avoid slow yield Signed-off-by: Vladimir Mandic --- modules/ui_extra_networks_checkpoints.py | 1 - modules/ui_extra_networks_history.py | 5 ++++- modules/ui_extra_networks_styles.py | 1 - modules/ui_extra_networks_unet.py | 4 +++- modules/ui_extra_networks_vae.py | 6 ++++-- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/modules/ui_extra_networks_checkpoints.py b/modules/ui_extra_networks_checkpoints.py index d85f56e8e..a68fb0daa 100644 --- a/modules/ui_extra_networks_checkpoints.py +++ b/modules/ui_extra_networks_checkpoints.py @@ -145,7 +145,6 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage): "tags": v.get('tags', []), } models.append(model) - # yield model log.debug(f'Networks: type="reference" {count}') return models diff --git a/modules/ui_extra_networks_history.py b/modules/ui_extra_networks_history.py index 3d2d05059..3dbd61829 100644 --- a/modules/ui_extra_networks_history.py +++ b/modules/ui_extra_networks_history.py @@ -19,9 +19,10 @@ class ExtraNetworksPageHistory(ui_extra_networks.ExtraNetworksPage): def list_items(self): # log.trace('History list') + records = [] for item in shared.history.latents: title = ', '.join(list(set(item.ops))) + '
' + item.name - yield { + record = { "type": 'History', "name": title, "preview": item.preview, @@ -31,6 +32,8 @@ class ExtraNetworksPageHistory(ui_extra_networks.ExtraNetworksPage): # "description": item.info, "onclick": '"' + html.escape(f"""return selectHistory({json.dumps(item.name)})""") + '"', } + records.append(record) + return records def find_description(self, path, info=None): name = path.split('
')[-1] diff --git a/modules/ui_extra_networks_styles.py b/modules/ui_extra_networks_styles.py index 793e6d836..5eca82c0a 100644 --- a/modules/ui_extra_networks_styles.py +++ b/modules/ui_extra_networks_styles.py @@ -137,6 +137,5 @@ class ExtraNetworkStyles(extra_networks.ExtraNetwork): p.negative_prompts = [styles.merge_prompts(style.negative_prompt, prompt) for prompt in p.negative_prompts] styles.apply_styles_to_extra(p, style) - def deactivate(self, p, force=False): pass diff --git a/modules/ui_extra_networks_unet.py b/modules/ui_extra_networks_unet.py index 6b03b7be0..7badcdfc0 100644 --- a/modules/ui_extra_networks_unet.py +++ b/modules/ui_extra_networks_unet.py @@ -13,6 +13,7 @@ class ExtraNetworksPageUNets(ui_extra_networks.ExtraNetworksPage): return sd_unet.refresh_unet_list() def list_items(self): + results = [] for name, filename in sd_unet.unet_dict.items(): try: size, mtime = modelstats.stat(filename) @@ -35,9 +36,10 @@ class ExtraNetworksPageUNets(ui_extra_networks.ExtraNetworksPage): "description": self.find_description(filename, info), "version": version.get("baseModel", "N/A") if info else "N/A", } - yield record + results.append(record) except Exception as e: log.debug(f'Networks error: type=unet file="{filename}" {e}') + return results def allowed_directories_for_previews(self): return [v for v in [shared.opts.unet_dir] if v is not None] diff --git a/modules/ui_extra_networks_vae.py b/modules/ui_extra_networks_vae.py index 20a890544..b3341c621 100644 --- a/modules/ui_extra_networks_vae.py +++ b/modules/ui_extra_networks_vae.py @@ -10,9 +10,10 @@ class ExtraNetworksPageVAEs(ui_extra_networks.ExtraNetworksPage): super().__init__('VAE') def refresh(self): - shared.refresh_vaes() + return shared.refresh_vaes() def list_items(self): + records = [] for name, filename in sd_vae.vae_dict.items(): try: size, mtime = modelstats.stat(filename) @@ -35,9 +36,10 @@ class ExtraNetworksPageVAEs(ui_extra_networks.ExtraNetworksPage): "description": self.find_description(filename, info), "version": version.get("baseModel", "N/A") if info else "N/A", } - yield record + records.append(record) except Exception as e: log.debug(f'Networks error: type=vae file="{filename}" {e}') + return records def allowed_directories_for_previews(self): return [v for v in [shared.opts.vae_dir] if v is not None]