From 7a951e4b7fc2c7fe70af9fb192f9182476af18a5 Mon Sep 17 00:00:00 2001 From: CHIEF AI <19092813@qq.com> Date: Mon, 9 Feb 2026 10:24:16 +0800 Subject: [PATCH] Create Reverse_Prompt_Node.py --- Reverse_Prompt_Node.py | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Reverse_Prompt_Node.py diff --git a/Reverse_Prompt_Node.py b/Reverse_Prompt_Node.py new file mode 100644 index 0000000..6f71b33 --- /dev/null +++ b/Reverse_Prompt_Node.py @@ -0,0 +1,64 @@ +import os +import json +import folder_paths + +class ReversePromptNode: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(s): + # 获取当前脚本所在目录 + curr_dir = os.path.dirname(os.path.realpath(__file__)) + presets_dir = os.path.join(curr_dir, "presets") + + # 如果目录不存在,创建一个(防止报错) + if not os.path.exists(presets_dir): + os.makedirs(presets_dir) + + # 扫描 .json 文件 + files = [f for f in os.listdir(presets_dir) if f.endswith(".json")] + + # 如果没有文件,提供一个占位符 + if not files: + files = ["put_json_in_presets_folder.json"] + + return { + "required": { + "preset_file": (sorted(files), ), + "stringify_mode": (["Pretty (Indented)", "Minified (One Line)"], {"default": "Pretty (Indented)"}), + }, + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("json_string",) + FUNCTION = "load_json_preset" + CATEGORY = "ChiefAI/Utils" # 你可以根据喜好修改类别 + + def load_json_preset(self, preset_file, stringify_mode): + curr_dir = os.path.dirname(os.path.realpath(__file__)) + file_path = os.path.join(curr_dir, "presets", preset_file) + + json_content = "" + + try: + if not os.path.exists(file_path): + raise FileNotFoundError(f"File not found: {file_path}") + + with open(file_path, 'r', encoding='utf-8') as f: + # 先解析一次以确保它是有效的JSON + data = json.load(f) + + # 根据用户选择输出格式化后的文本 + if stringify_mode == "Minified (One Line)": + # 压缩成一行,去除空格 + json_content = json.dumps(data, ensure_ascii=False) + else: + # 保持缩进的可读格式 + json_content = json.dumps(data, indent=4, ensure_ascii=False) + + except Exception as e: + print(f"[ReversePromptNode] Error: {e}") + json_content = json.dumps({"error": str(e)}) + + return (json_content,)