fix: add positive prompt if styles don't have a prompt placeholder (#3372)

fixes https://github.com/lllyasviel/Fooocus/issues/3367
This commit is contained in:
Manuel Schmid 2024-07-27 12:35:55 +02:00 committed by GitHub
parent c4ce2ce600
commit 1be3c504ed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 2 deletions

View File

@ -689,13 +689,20 @@ def worker():
task_styles = async_task.style_selections.copy()
if use_style:
placeholder_replaced = False
for j, s in enumerate(task_styles):
if s == random_style_name:
s = get_random_style(task_rng)
task_styles[j] = s
p, n = apply_style(s, positive=task_prompt)
p, n, style_has_placeholder = apply_style(s, positive=task_prompt)
if style_has_placeholder:
placeholder_replaced = True
positive_basic_workloads = positive_basic_workloads + p
negative_basic_workloads = negative_basic_workloads + n
if not placeholder_replaced:
positive_basic_workloads = [task_prompt] + positive_basic_workloads
else:
positive_basic_workloads.append(task_prompt)

View File

@ -59,7 +59,7 @@ def get_random_style(rng: Random) -> str:
def apply_style(style, positive):
p, n = styles[style]
return p.replace('{prompt}', positive).splitlines(), n.splitlines()
return p.replace('{prompt}', positive).splitlines(), n.splitlines(), '{prompt}' in p
def get_words(arrays, total_mult, index):