From 1191d4d963f3efc5e3070804e6a7fe604c5480de Mon Sep 17 00:00:00 2001 From: billwuhao Date: Mon, 7 Jul 2025 16:14:15 +0800 Subject: [PATCH] string split from right --- OneButtonPrompt.py | 37 +++++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/OneButtonPrompt.py b/OneButtonPrompt.py index fcb2d07..b7d7b4f 100644 --- a/OneButtonPrompt.py +++ b/OneButtonPrompt.py @@ -365,16 +365,53 @@ class LoadImageAndPromptFromURL: img, _ = pil2tensor(img) return (img, prompt, imgurl) + + +class StringEditNodeOBP: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "text": ("STRING", {"forceInput": True}), + }, + "optional": { + "paste_edit_text": ("STRING", {"multiline": True, "default": "",}), + "split_tag": ("STRING", {"default": "",}), + "form_right": ("BOOLEAN", {"default": False}), + }, + } + + RETURN_TYPES = ("STRING", "STRING", "STRING", "STRING", "STRING") + RETURN_NAMES = ("text", "split_1", "split_2", "edited_text", "merged_text") + FUNCTION = "edit_text" + CATEGORY = "🎤MW/MW-Audio-Tools" + OUTPUT_NODE = False + + def edit_text(self, text, split_tag="", paste_edit_text="", form_right=False): + str_1, str_2, str_3, str_4, str_5 = text, "", "", paste_edit_text, "" + str_5 = text + paste_edit_text + + if split_tag != "" and text.find(split_tag) > 0: + if form_right: + parts = text.rsplit(split_tag, 1) + str_2, str_3 = parts[0].strip(), parts[1].strip() + else: + parts = text.split(split_tag, 1) + str_2, str_3 = parts[0].strip(), parts[1].strip() + + return (str_1, str_2, str_3, str_4, str_5) NODE_CLASS_MAPPINGS = { "LoadPrompt": LoadPrompt, "LoadImageFromURL": LoadImageFromURL, "LoadImageAndPromptFromURL": LoadImageAndPromptFromURL, + "StringEditNodeOBP": StringEditNodeOBP, } NODE_DISPLAY_NAME_MAPPINGS = { "LoadPrompt": "Load Prompt", "LoadImageFromURL": "Load Image From URL", "LoadImageAndPromptFromURL": "Load Image And Prompt From URL", + "StringEditNodeOBP": "String Edit" } \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 4083eac..44f1584 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "onebuttonprompt-mw" description = "A node that assists in one click generation of prompts (for image and video generation, etc.) in Comfyui." -version = "1.0.1" +version = "1.0.2" license = {file = "LICENSE"} [project.urls]