From c258f1115dc52bc82b7c20bb5635f10cc369f62e Mon Sep 17 00:00:00 2001 From: Jordan Thompson Date: Sun, 2 Jun 2024 08:12:54 -0700 Subject: [PATCH 1/2] Revert dynamic prompts adjustment to Text Multiline; add code comptaible version --- WAS_Node_Suite.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/WAS_Node_Suite.py b/WAS_Node_Suite.py index a593270..a932b4f 100644 --- a/WAS_Node_Suite.py +++ b/WAS_Node_Suite.py @@ -9504,7 +9504,7 @@ class WAS_Text_Multiline: def INPUT_TYPES(cls): return { "required": { - "text": ("STRING", {"default": '', "multiline": True, "dynamicPrompts": False}), + "text": ("STRING", {"default": '', "multiline": True, "dynamicPrompts": True}), } } RETURN_TYPES = (TEXT_TYPE,) @@ -9528,6 +9528,29 @@ class WAS_Text_Multiline: return (new_text, ) +class WAS_Text_Multiline_Raw: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "text": ("STRING", {"default": '', "multiline": True, "dynamicPrompts": False}), + } + } + RETURN_TYPES = (TEXT_TYPE,) + FUNCTION = "text_multiline" + + CATEGORY = "WAS Suite/Text" + + def text_multiline(self, text): + tokens = TextTokens() + new_text = tokens.parseTokens(text) + + return (new_text, ) + + # Text List Concatenate Node class WAS_Text_List_Concatenate: @@ -13976,6 +13999,7 @@ NODE_CLASS_MAPPINGS = { "Text List to Text": WAS_Text_List_to_Text, "Text Load Line From File": WAS_Text_Load_Line_From_File, "Text Multiline": WAS_Text_Multiline, + "Text Multiline (Code Compatible)": WAS_Text_Multiline_Raw, "Text Parse A1111 Embeddings": WAS_Text_Parse_Embeddings_By_Name, "Text Parse Noodle Soup Prompts": WAS_Text_Parse_NSP, "Text Parse Tokens": WAS_Text_Parse_Tokens, From e1cfb7d2279c631bdd2f09e5302f32fbe04b2efc Mon Sep 17 00:00:00 2001 From: Jordan Thompson Date: Sun, 2 Jun 2024 09:04:43 -0700 Subject: [PATCH 2/2] Adjust detection of linebreak for Text Concatenate --- WAS_Node_Suite.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/WAS_Node_Suite.py b/WAS_Node_Suite.py index a932b4f..4e48cbd 100644 --- a/WAS_Node_Suite.py +++ b/WAS_Node_Suite.py @@ -10117,23 +10117,23 @@ class WAS_Text_Concatenate: "clean_whitespace": (["true", "false"],), }, "optional": { - "text_a": (TEXT_TYPE, {"forceInput": (True if TEXT_TYPE == 'STRING' else False)}), - "text_b": (TEXT_TYPE, {"forceInput": (True if TEXT_TYPE == 'STRING' else False)}), - "text_c": (TEXT_TYPE, {"forceInput": (True if TEXT_TYPE == 'STRING' else False)}), - "text_d": (TEXT_TYPE, {"forceInput": (True if TEXT_TYPE == 'STRING' else False)}), + "text_a": ("STRING", {"forceInput": True}), + "text_b": ("STRING", {"forceInput": True}), + "text_c": ("STRING", {"forceInput": True}), + "text_d": ("STRING", {"forceInput": True}), } } - RETURN_TYPES = (TEXT_TYPE,) + RETURN_TYPES = ("STRING",) FUNCTION = "text_concatenate" CATEGORY = "WAS Suite/Text" def text_concatenate(self, delimiter, clean_whitespace, **kwargs): - text_inputs: list[str] = [] + text_inputs = [] # Handle special case where delimiter is "\n" (literal newline). - if delimiter == "\\n": + if delimiter in ("\n", "\\n"): delimiter = "\n" # Iterate over the received inputs in sorted order. @@ -10159,6 +10159,7 @@ class WAS_Text_Concatenate: return (merged_text,) + # Text Find