mirror of
https://github.com/kohya-ss/sd-scripts.git
synced 2026-04-09 06:45:09 +00:00
fix same replacement multiple times in dyn prompt
This commit is contained in:
@@ -2243,7 +2243,7 @@ def handle_dynamic_prompt_variants(prompt, repeat_count):
|
|||||||
for _ in range(repeat_count):
|
for _ in range(repeat_count):
|
||||||
current = prompt
|
current = prompt
|
||||||
for found, replacer in zip(founds, replacers):
|
for found, replacer in zip(founds, replacers):
|
||||||
current = current.replace(found.group(0), replacer()[0])
|
current = current.replace(found.group(0), replacer()[0], 1)
|
||||||
prompts.append(current)
|
prompts.append(current)
|
||||||
else:
|
else:
|
||||||
# if enumerating, iterate all combinations for previous prompts
|
# if enumerating, iterate all combinations for previous prompts
|
||||||
@@ -2256,14 +2256,14 @@ def handle_dynamic_prompt_variants(prompt, repeat_count):
|
|||||||
for current in prompts:
|
for current in prompts:
|
||||||
replecements = replacer()
|
replecements = replacer()
|
||||||
for replecement in replecements:
|
for replecement in replecements:
|
||||||
new_prompts.append(current.replace(found.group(0), replecement))
|
new_prompts.append(current.replace(found.group(0), replecement, 1))
|
||||||
prompts = new_prompts
|
prompts = new_prompts
|
||||||
|
|
||||||
for found, replacer in zip(founds, replacers):
|
for found, replacer in zip(founds, replacers):
|
||||||
# make random selection for existing prompts
|
# make random selection for existing prompts
|
||||||
if found.group(2) is None:
|
if found.group(2) is None:
|
||||||
for i in range(len(prompts)):
|
for i in range(len(prompts)):
|
||||||
prompts[i] = prompts[i].replace(found.group(0), replacer()[0])
|
prompts[i] = prompts[i].replace(found.group(0), replacer()[0], 1)
|
||||||
|
|
||||||
return prompts
|
return prompts
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user