import csv import os import sys import comfy.utils csv_file_path = os.path.join(os.path.dirname(__file__), "..", "styles", "styles-positive.csv") class FansPromptStylerPositive: styles = None def __init__(self): pass def handle_prompt_change(self, value): print("New prompt value:", value) @classmethod def INPUT_TYPES(cls): if not os.path.exists(csv_file_path): cls.styles = [["No Styles.csv", "", ""]] else: with open(csv_file_path, "r") as f: reader = csv.reader(f, dialect='excel') cls.styles = [row for row in reader if len(row) == 2 and row[1] != "prompt" and row[0] != "None"] cls.styles.insert(0, ["None", "", ""]) style_names = [row[0] for row in cls.styles] return { "required": { "style": (style_names, {"default": style_names[0]}), "prompt": ("STRING", {"multiline": True, "default": "Input Your Prompt Here"}), }, } RETURN_TYPES = ("STRING",) RETURN_NAMES = ("result",) FUNCTION = "func" OUTPUT_NODE = False CATEGORY = "utils" def func(self, style, prompt): result="" if style=="None": result=prompt else: for row in self.styles: if row[0] == style: result += row[1] if "{prompt}" not in result: result = prompt + " " + result else: result = result.replace("{prompt}", prompt) return result, NODE_CLASS_MAPPINGS = { "Fans Prompt Styler Positive": FansPromptStylerPositive }