From fedb35e9d06ba216ad85e4ff2ebedb1b054848c8 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 17 Sep 2024 10:37:27 -0400 Subject: [PATCH] fix xyz prompt-sr --- extensions-builtin/Lora/extra_networks_lora.py | 11 ++++++----- modules/processing.py | 7 ++++--- scripts/xyz_grid_shared.py | 10 ++++++---- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/extensions-builtin/Lora/extra_networks_lora.py b/extensions-builtin/Lora/extra_networks_lora.py index b2e8526e9..ba583b450 100644 --- a/extensions-builtin/Lora/extra_networks_lora.py +++ b/extensions-builtin/Lora/extra_networks_lora.py @@ -64,11 +64,12 @@ class ExtraNetworkLora(extra_networks.ExtraNetwork): shared.log.debug(f"LoRA apply: max={shared.opts.lora_apply_tags} tags{all_tags}") all_tags = ', '.join(all_tags) p.extra_generation_params["LoRA tags"] = all_tags - for i in range(len(p.all_prompts)): - if '_tags_' in p.all_prompts[i]: - p.all_prompts[i] = p.all_prompts[i].replace('_tags_', all_tags) - else: - p.all_prompts[i] = f"{p.all_prompts[i]}, {all_tags}" + if p.all_prompts is not None: + for i in range(len(p.all_prompts)): + if '_tags_' in p.all_prompts[i]: + p.all_prompts[i] = p.all_prompts[i].replace('_tags_', all_tags) + else: + p.all_prompts[i] = f"{p.all_prompts[i]}, {all_tags}" def infotext(self, p): names = [i.name for i in networks.loaded_networks] diff --git a/modules/processing.py b/modules/processing.py index 9cca323a4..72d3cfcd9 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -228,9 +228,10 @@ def process_init(p: StableDiffusionProcessing): p.all_seeds = [int(seed) + (x if p.subseed_strength == 0 else 0) for x in range(len(p.all_prompts))] else: p.all_seeds = [] - for i in range(len(p.all_prompts)): - seed = get_fixed_seed(p.seed) - p.all_seeds.append(int(seed) + (i if p.subseed_strength == 0 else 0)) + if p.all_prompts is not None: + for i in range(len(p.all_prompts)): + seed = get_fixed_seed(p.seed) + p.all_seeds.append(int(seed) + (i if p.subseed_strength == 0 else 0)) if p.all_subseeds is None: if type(subseed) == list: p.all_subseeds = [int(s) for s in subseed] diff --git a/scripts/xyz_grid_shared.py b/scripts/xyz_grid_shared.py index 144da09f9..672bd0ff7 100644 --- a/scripts/xyz_grid_shared.py +++ b/scripts/xyz_grid_shared.py @@ -50,11 +50,13 @@ def apply_prompt(p, x, xs): shared.log.warning(f"XYZ grid: prompt S/R did not find {xs[0]} in prompt or negative prompt.") else: p.prompt = p.prompt.replace(xs[0], x) - for i in range(len(p.all_prompts)): - p.all_prompts[i] = p.all_prompts[i].replace(xs[0], x) + if p.all_prompts is not None: + for i in range(len(p.all_prompts)): + p.all_prompts[i] = p.all_prompts[i].replace(xs[0], x) p.negative_prompt = p.negative_prompt.replace(xs[0], x) - for i in range(len(p.all_negative_prompts)): - p.all_negative_prompts[i] = p.all_negative_prompts[i].replace(xs[0], x) + if p.all_negative_prompts is not None: + for i in range(len(p.all_negative_prompts)): + p.all_negative_prompts[i] = p.all_negative_prompts[i].replace(xs[0], x) shared.log.debug(f'XYZ grid apply prompt: "{xs[0]}"="{x}"')