From a5b82742c8e5850b4881878d0c2ade96ee6aba99 Mon Sep 17 00:00:00 2001 From: Bingsu Date: Sun, 14 May 2023 22:13:00 +0900 Subject: [PATCH] refactor: get_prompt --- scripts/!adetailer.py | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/scripts/!adetailer.py b/scripts/!adetailer.py index 8093e93..deb9d99 100644 --- a/scripts/!adetailer.py +++ b/scripts/!adetailer.py @@ -177,28 +177,23 @@ class AfterDetailerScript(scripts.Script): return device + def _get_prompt(self, ad_prompt: str, all_prompts: list[str], i: int, default: str): + if ad_prompt: + return ad_prompt + if not all_prompts: + return default + if i < len(all_prompts): + return all_prompts[i] + j = i % len(all_prompts) + return all_prompts[j] + def get_prompt(self, p, args: ADetailerArgs) -> tuple[str, str]: i = p._idx - if args.ad_prompt: - prompt = args.ad_prompt - elif not p.all_prompts: - prompt = p.prompt - elif i < len(p.all_prompts): - prompt = p.all_prompts[i] - else: - j = i % len(p.all_prompts) - prompt = p.all_prompts[j] - - if args.ad_negative_prompt: - negative_prompt = args.ad_negative_prompt - elif not p.all_negative_prompts: - negative_prompt = p.negative_prompt - elif i < len(p.all_negative_prompts): - negative_prompt = p.all_negative_prompts[i] - else: - j = i % len(p.all_negative_prompts) - negative_prompt = p.all_negative_prompts[j] + prompt = self._get_prompt(args.ad_prompt, p.all_prompts, i, p.prompt) + negative_prompt = self._get_prompt( + args.ad_negative_prompt, p.all_negative_prompts, i, p.negative_prompt + ) return prompt, negative_prompt