72 lines
2.3 KiB
Python
72 lines
2.3 KiB
Python
from .base import BaseNode
|
|
from ..preset import PresetManager, PresetManagerAdvanced
|
|
|
|
|
|
class PromptUtilitiesLoadPreset(BaseNode):
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {
|
|
"required": {
|
|
"preset": (list(PresetManager.get_presets().keys()), ),
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("STRING",)
|
|
FUNCTION = "load_preset"
|
|
|
|
def load_preset(self, preset):
|
|
prompt = PresetManager.get_preset(preset)
|
|
return (prompt,)
|
|
|
|
|
|
class PromptUtilitiesLoadPresetAdvanced(BaseNode):
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {
|
|
"required": {
|
|
"preset": (list(PresetManagerAdvanced.get_presets().keys()), ),
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("STRING","STRING","STRING","FLOAT","FLOAT","LORA_STACK",)
|
|
RETURN_NAMES = ("positive prompt","negative prompt","lora name","strength model","strength clip","lora stack",)
|
|
FUNCTION = "load_preset"
|
|
|
|
def load_preset(self, preset):
|
|
preset = PresetManagerAdvanced.get_preset(preset)
|
|
positive_prompt = preset.get("positive_prompt","")
|
|
negative_prompt = preset.get("negative_prompt","")
|
|
|
|
lora = preset.get("lora", None)
|
|
lora_name, strength_model, sterngth_clip = self.load_lora(lora)
|
|
|
|
loras = preset.get("loras", None)
|
|
lora_stack = self.load_loras(loras)
|
|
|
|
return (positive_prompt, negative_prompt, lora_name, strength_model, sterngth_clip, lora_stack)
|
|
|
|
def load_lora(self, lora):
|
|
if lora is None:
|
|
return "None", 0, 0
|
|
|
|
lora_name = lora.get("lora_name", "None")
|
|
if "weight" in lora:
|
|
strength_model = lora.get("weight", 0)
|
|
sterngth_clip = lora.get("weight", 0)
|
|
else:
|
|
strength_model = lora.get("strength_model", 0)
|
|
sterngth_clip = lora.get("strength_clip", 0)
|
|
|
|
return lora_name, strength_model, sterngth_clip
|
|
|
|
|
|
def load_loras(self, loras):
|
|
lora_stack = []
|
|
if loras is None:
|
|
return lora_stack
|
|
|
|
for lora in loras:
|
|
lora_name, strength_model, sterngth_clip = self.load_lora(lora)
|
|
loras.append((lora_name, strength_model, sterngth_clip))
|
|
|
|
return lora_stack |