From ba182e390e1e0540a6268255ac57bc3200c7b612 Mon Sep 17 00:00:00 2001 From: BRADSEC Date: Tue, 2 Dec 2025 20:59:02 +1000 Subject: [PATCH] Add new conditional append node Issue #5 recoommendation. Minor fixes and changes Issues #4 and #6. --- .gitignore | 5 +- README.md | 29 ++++- __init__.py | 9 +- images/stringappend.png | Bin 0 -> 35644 bytes images/stringpreview.png | Bin 8316 -> 14816 bytes images/stringreplace.png | Bin 25014 -> 43639 bytes images/stringstrip.png | Bin 21129 -> 38864 bytes images/stringtextbox.png | Bin 7794 -> 12531 bytes images/utilsmenu.png | Bin 29870 -> 0 bytes js/string_essentials.js | 45 +++++++ pyproject.toml | 4 +- string_conditional_append_node.py | 66 ++++++++++ string_multi_replace_node.py | 39 +++--- string_preview_node.py | 9 +- string_strip_node.py | 38 +++--- string_textbox_node.py | 2 +- test_string_nodes.py | 202 ++++++++++++++++++++++++++++-- 17 files changed, 398 insertions(+), 50 deletions(-) create mode 100644 images/stringappend.png delete mode 100644 images/utilsmenu.png create mode 100644 string_conditional_append_node.py diff --git a/.gitignore b/.gitignore index 5ff1302..0a068c4 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,7 @@ build/ # OS .DS_Store -Thumbs.db \ No newline at end of file +Thumbs.db + +# Claude Code files +CLAUDE.md \ No newline at end of file diff --git a/README.md b/README.md index 2221c69..3071f6a 100644 --- a/README.md +++ b/README.md @@ -6,16 +6,19 @@ Simple string manipulation nodes for ComfyUI (strip/remove text strings, search - String Textbox - String Strip -- String Replace +- String Multi Replace +- String Conditional Append - String Preview -***Once added nodes can be found under the `Add Node` > `utils` menu.*** +***Once added nodes can be found under the `Add Node` > `utils` > `StringEssentials` menu.*** ## Features - Remove or replace text, words, numbers in input strings +- Conditionally append text only when not already present - Handle multi-word strings (partial sentences/phrases) - Case-sensitive/insensitive matching - Whole string matching option +- Preserve punctuation in prompts and special syntax (parentheses, colons, brackets) ## String Textbox A simple multiline textbox for free form text. @@ -32,9 +35,10 @@ Removes specified strings from input text. Each line should contain the string t - **`strings_to_remove`**: List of strings to remove (one per line) - **`match_case`**: Enable/disable case-sensitive matching - **`match_whole_string`**: Ensure only exact matches are removed +- **`preserve_punctuation`**: Keep punctuation marks adjacent to matched text (default: enabled) - **`remove_extra_spaces`**: Clean up extra spaces after removal -## String Replace +## String Multi Replace Replaces text strings with new strings (replace/swap words etc.). Each line should contain a search and replace pair separated by the replacement_delimiter (default is double colon `::`). Example to replace dog with cat `dog::cat`. Supports mulitple string replacements, just add one replacement per line. You can also remove strings with this node just leave the right side of the delimiter blank. ![stringreplace](images/stringreplace.png) @@ -45,8 +49,25 @@ Replaces text strings with new strings (replace/swap words etc.). Each line shou - **`replacement_delimiter`**: Character(s) that separate search and replace strings (default: `::`) - **`match_case`**: Enable/disable case-sensitive matching - **`match_whole_string`**: Ensure only exact matches are replaced +- **`preserve_punctuation`**: Keep punctuation marks adjacent to matched text (default: enabled) - **`remove_extra_spaces`**: Clean up extra spaces after replacement +## String Conditional Append +Conditionally adds strings to the input text only if they're not already present. Useful for ensuring specific keywords or phrases exist in prompts without creating duplicates. Enter multiple strings (one per line) to check and append any that are missing. + +![stringreplace](images/stringappend.png) + +### Inputs +- **`input_string`**: The string or text to process (connection input) +- **`strings_to_check`**: List of strings to search for and append if not found (one per line) +- **`position`**: Where to add strings if not found (`end` or `beginning`) +- **`match_case`**: Enable/disable case-sensitive search +- **`separator`**: Character(s) to use between text and appended strings (default: `, `) + +### Outputs +- **`output_string`**: The resulting text (with or without appended strings) +- **`was_appended`**: Boolean indicating whether any strings were added + ## String Preview Simply displays a string output. Can be used to view the results/changes to the input_string by the `String Strip` or `String Replace`. @@ -65,7 +86,7 @@ Simply displays a string output. Can be used to view the results/changes to the git clone https://github.com/bradsec/ComfyUI_StringEssentials.git ``` 3. Restart ComfyUI or refresh your nodes. -4. Select node from the `Add Node` > `utils` menu. +4. Select nodes from the `Add Node` > `utils` > `StringEssentials` menu. ### [Found these nodes useful? ⭐ Star the repo github.com/bradsec/ComfyUI_StringEssentials.](https://github.com/bradsec/ComfyUI_StringEssentials "BRADSEC ComfyUI_StringEssentials") diff --git a/__init__.py b/__init__.py index 9386357..8a05f7f 100644 --- a/__init__.py +++ b/__init__.py @@ -2,21 +2,24 @@ from .string_textbox_node import StringTextboxNode from .string_strip_node import StringStripNode -from .string_multi_replace_node import StringMultiReplaceNode +from .string_multi_replace_node import StringMultiReplaceNode from .string_preview_node import StringPreviewNode +from .string_conditional_append_node import StringConditionalAppendNode NODE_CLASS_MAPPINGS = { "StringTextbox": StringTextboxNode, "StringStrip": StringStripNode, "StringMultiReplace": StringMultiReplaceNode, - "StringPreview": StringPreviewNode + "StringPreview": StringPreviewNode, + "StringConditionalAppend": StringConditionalAppendNode } NODE_DISPLAY_NAME_MAPPINGS = { "StringTextbox": "String Textbox", "StringStrip": "String Strip", "StringMultiReplace": "String Multi Replace", - "StringPreview": "String Preview" + "StringPreview": "String Preview", + "StringConditionalAppend": "String Conditional Append" } WEB_DIRECTORY = "./js" diff --git a/images/stringappend.png b/images/stringappend.png new file mode 100644 index 0000000000000000000000000000000000000000..7514f49bb6f43d7715429f02becb013ee42abce5 GIT binary patch literal 35644 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 NsHtkGq$wNw{~y$x1(yH- literal 0 HcmV?d00001 diff --git a/images/stringpreview.png b/images/stringpreview.png index e20db711b7bf0e0097808c07b9ecb53419f06d4c..ef5a3b1fc1af8ca8a3e16c200ba0bbcc32796842 100644 GIT binary patch literal 14816 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 literal 8316 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 E8(-woV*mgE diff --git a/images/stringreplace.png b/images/stringreplace.png index 9fa41478dd53280ebc4d2804548acc44fcd31d15..a8ddd06df7640dfe2253a81c3d97c470a5903884 100644 GIT binary patch literal 43639 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 Muye7ku=Y*<8;YCYp#T5? diff --git a/images/stringstrip.png b/images/stringstrip.png index a45840f3a480aaa4cd0e3252090a9ffb24d76947..e4c3e36984499ec2da13246d0c783f3ba00133ea 100644 GIT binary patch literal 38864 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 diff --git a/js/string_essentials.js b/js/string_essentials.js index ae9e204..834b3a4 100644 --- a/js/string_essentials.js +++ b/js/string_essentials.js @@ -1,12 +1,16 @@ import { app } from "../../../scripts/app.js"; import { ComfyWidgets } from "../../../scripts/widgets.js"; +// Consistent sizing for all String Essentials nodes +const DEFAULT_NODE_SIZE = [400, 200]; + app.registerExtension({ name: "string.strip", async beforeRegisterNodeDef(nodeType) { if (nodeType.comfyClass === "StringStrip") { nodeType.prototype.onNodeCreated = function() { this.addInput("input_string", "STRING"); + this.setSize(DEFAULT_NODE_SIZE); }; } } @@ -18,6 +22,7 @@ app.registerExtension({ if (nodeType.comfyClass === "StringMultiReplace") { nodeType.prototype.onNodeCreated = function() { this.addInput("input_string", "STRING"); + this.setSize(DEFAULT_NODE_SIZE); }; } } @@ -32,6 +37,7 @@ app.registerExtension({ this.showValueWidget = ComfyWidgets["STRING"](this, "preview", ["STRING", { multiline: true }], app).widget; this.showValueWidget.inputEl.readOnly = true; this.showValueWidget.inputEl.style.opacity = 0.6; + this.setSize(DEFAULT_NODE_SIZE); }; const onExecuted = nodeType.prototype.onExecuted; @@ -39,8 +45,47 @@ app.registerExtension({ onExecuted?.apply(this, arguments); if (message?.text?.[0] !== undefined) { this.showValueWidget.value = message.text[0]; + } else { + // Clear preview if no text received + this.showValueWidget.value = ""; + } + }; + + // Clear preview when input is disconnected + const onConnectionsChange = nodeType.prototype.onConnectionsChange; + nodeType.prototype.onConnectionsChange = function(type, index, connected, link_info) { + if (onConnectionsChange) { + onConnectionsChange.apply(this, arguments); + } + + // If input was disconnected, clear the preview + if (type === 1 && !connected) { // type 1 = input + this.showValueWidget.value = ""; } }; } } }); + +app.registerExtension({ + name: "string.conditionalappend", + async beforeRegisterNodeDef(nodeType) { + if (nodeType.comfyClass === "StringConditionalAppend") { + nodeType.prototype.onNodeCreated = function() { + this.addInput("input_string", "STRING"); + this.setSize(DEFAULT_NODE_SIZE); + }; + } + } +}); + +app.registerExtension({ + name: "string.textbox", + async beforeRegisterNodeDef(nodeType) { + if (nodeType.comfyClass === "StringTextbox") { + nodeType.prototype.onNodeCreated = function() { + this.setSize(DEFAULT_NODE_SIZE); + }; + } + } +}); diff --git a/pyproject.toml b/pyproject.toml index 175462a..0ebd60d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "comfyui_stringessentials" -description = "Simple string manipulation nodes for ComfyUI (strip/remove text strings, search and replace text strings, preview modified string outputs). Useful for modifying text prompts or results from LLM outputs. Nodes will be located under standard Add Node > utils menu. Node names: String Textbox, String Strip, String Replace, and String Preview." -version = "1.0.5" +description = "Simple string manipulation nodes for ComfyUI (strip/remove text strings, search and replace text strings, preview modified string outputs). Useful for modifying text prompts or results from LLM outputs. Nodes will be located under standard Add Node > utils menu. Node names: String Textbox, String Strip, String Multi Replace, String Conditional Append and String Preview." +version = "1.0.6" license = {file = "LICENSE"} [project.urls] diff --git a/string_conditional_append_node.py b/string_conditional_append_node.py new file mode 100644 index 0000000..a0c18f6 --- /dev/null +++ b/string_conditional_append_node.py @@ -0,0 +1,66 @@ +import re + +class StringConditionalAppendNode: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "strings_to_check": ("STRING", { + "multiline": True, + "default": "", + "placeholder": "Enter strings to check (one per line)", + "tooltip": "Enter strings to search for and append if not found (one per line)" + }), + "position": (["end", "beginning"], { + "default": "end", + "tooltip": "Where to add strings if not found" + }), + "match_case": ("BOOLEAN", { + "default": False, + "label_on": "enabled", + "label_off": "disabled", + "tooltip": "Whether the search should be case-sensitive" + }), + "separator": ("STRING", { + "default": ", ", + "tooltip": "Character(s) to use between text and appended strings" + }) + } + } + + RETURN_TYPES = ("STRING", "BOOLEAN") + RETURN_NAMES = ("output_string", "was_appended") + FUNCTION = "conditional_append" + CATEGORY = "utils/StringEssentials" + + def conditional_append(self, input_string, strings_to_check, position, match_case, separator): + # Parse strings to check, one per line + strings_list = [] + for line in strings_to_check.splitlines(): + line = line.strip() + if line: + strings_list.append(line) + + if not strings_list: + return (input_string, False) + + result = input_string + was_any_appended = False + + # Check and append each string if not found + for check_string in strings_list: + # Check if check_string exists in current result + if match_case: + string_found = check_string in result + else: + string_found = check_string.lower() in result.lower() + + # If string not found, append it + if not string_found: + if position == "beginning": + result = check_string + separator + result + else: # end + result = result + separator + check_string + was_any_appended = True + + return (result, was_any_appended) diff --git a/string_multi_replace_node.py b/string_multi_replace_node.py index 787886e..d6c0dad 100644 --- a/string_multi_replace_node.py +++ b/string_multi_replace_node.py @@ -5,14 +5,17 @@ class StringMultiReplaceNode: def INPUT_TYPES(cls): return { "required": { - "replacement_pairs": ("STRING", {"multiline": True, "default": "", - "tooltip": "Enter replacement pairs, one per line. Format: 'searchreplace'. Default delimiter is ':' (colon)"}), - "replacement_delimiter": ("STRING", {"default": "::", + "replacement_pairs": ("STRING", {"multiline": True, "default": "", "placeholder": "Enter replacement pairs (one per line)", + "tooltip": "Enter replacement pairs (one per line). Format: 'searchreplace'. Default delimiter is ':' (colon)"}), + "replacement_delimiter": ("STRING", {"default": "::", "tooltip": "Character(s) that separate search and replace strings. Default is two '::' (colons)"}), "match_case": ("BOOLEAN", {"default": False, "label_on": "enabled", "label_off": "disabled"}), "match_whole_string": ("BOOLEAN", {"default": False, "label_on": "enabled", "label_off": "disabled"}), + "preserve_punctuation": ("BOOLEAN", {"default": True, + "label_on": "enabled", "label_off": "disabled", + "tooltip": "When enabled, punctuation marks adjacent to matched text are preserved"}), "remove_extra_spaces": ("BOOLEAN", {"default": True, "label_on": "enabled", "label_off": "disabled"}) } @@ -21,14 +24,14 @@ class StringMultiReplaceNode: RETURN_TYPES = ("STRING",) RETURN_NAMES = ("modified_string",) FUNCTION = "string_replace" - CATEGORY = "utils" + CATEGORY = "utils/StringEssentials" def cleanup_text(self, text): text = re.sub(r'\s+([,;:.])', r'\1', text) # Remove spaces before punctuation text = re.sub(r'\s{2,}', ' ', text) # Normalize multiple spaces return text.strip() - def string_replace(self, input_string, replacement_pairs, replacement_delimiter, match_case, match_whole_string, remove_extra_spaces): + def string_replace(self, input_string, replacement_pairs, replacement_delimiter, match_case, match_whole_string, preserve_punctuation, remove_extra_spaces): # Create a list of all replacements replacements = [] for line in replacement_pairs.splitlines(): @@ -42,28 +45,36 @@ class StringMultiReplaceNode: if not search_str: continue - + replacements.append((len(search_str), search_str, replace_str)) - + # Sort by length in descending order replacements.sort(reverse=True) - + result = input_string flags = 0 if match_case else re.IGNORECASE # Perform replacements for _, search_str, replace_str in replacements: if match_whole_string: - # Enhanced pattern to handle punctuation properly - pattern = r'(?:\b|(?<=\s)|^)' + re.escape(search_str) + r'(?:[,;:.])?(?=\s|$)' + if preserve_punctuation: + # Match whole words but preserve adjacent punctuation + pattern = r'\b' + re.escape(search_str) + r'\b' + else: + # Original behavior: remove punctuation after match + pattern = r'(?:\b|(?<=\s)|^)' + re.escape(search_str) + r'(?:[,;:.])?(?=\s|$)' else: - # For non-whole string matching, still handle punctuation - pattern = re.escape(search_str) + r'(?:[,;:.])?' - + if preserve_punctuation: + # Simple literal replacement preserving punctuation + pattern = re.escape(search_str) + else: + # Original behavior: remove punctuation after match + pattern = re.escape(search_str) + r'(?:[,;:.])?' + regex = re.compile(pattern, flags=flags) result = regex.sub(replace_str, result) if remove_extra_spaces: result = self.cleanup_text(result) - + return (result,) diff --git a/string_preview_node.py b/string_preview_node.py index 70860f4..436c8e3 100644 --- a/string_preview_node.py +++ b/string_preview_node.py @@ -4,12 +4,17 @@ class StringPreviewNode: return { "required": {}, } - + RETURN_TYPES = ("STRING",) RETURN_NAMES = ("output_string",) FUNCTION = "preview_string" - CATEGORY = "utils" + CATEGORY = "utils/StringEssentials" OUTPUT_NODE = True + @classmethod + def IS_CHANGED(cls, **kwargs): + # Force re-evaluation every time to ensure fresh data in PNG metadata + return float("nan") + def preview_string(self, input_string=""): return {"ui": {"text": (input_string,)}, "result": (input_string,)} \ No newline at end of file diff --git a/string_strip_node.py b/string_strip_node.py index 84ed2ae..f1937e9 100644 --- a/string_strip_node.py +++ b/string_strip_node.py @@ -5,12 +5,15 @@ class StringStripNode: def INPUT_TYPES(cls): return { "required": { - "strings_to_remove": ("STRING", {"multiline": True, "default": "", - "tooltip": "Enter strings to remove, one per line. Can include multiple words or strings on one line like: 'This image is'. This will only match this entire string."}), + "strings_to_remove": ("STRING", {"multiline": True, "default": "", "placeholder": "Enter strings to remove (one per line)", + "tooltip": "Enter strings to remove (one per line). Can include multiple words or strings on one line like: 'This image is'. This will only match this entire string."}), "match_case": ("BOOLEAN", {"default": False, "label_on": "enabled", "label_off": "disabled"}), "match_whole_string": ("BOOLEAN", {"default": True, "label_on": "enabled", "label_off": "disabled"}), + "preserve_punctuation": ("BOOLEAN", {"default": True, + "label_on": "enabled", "label_off": "disabled", + "tooltip": "When enabled, punctuation marks adjacent to matched text are preserved"}), "remove_extra_spaces": ("BOOLEAN", {"default": True, "label_on": "enabled", "label_off": "disabled"}) } @@ -19,27 +22,27 @@ class StringStripNode: RETURN_TYPES = ("STRING",) RETURN_NAMES = ("modified_string",) FUNCTION = "string_strip" - CATEGORY = "utils" + CATEGORY = "utils/StringEssentials" def cleanup_text(self, text): text = re.sub(r'\s+([,;:.])', r'\1', text) # Remove spaces before punctuation text = re.sub(r'\s{2,}', ' ', text) # Normalize multiple spaces return text.strip() - def string_strip(self, input_string, strings_to_remove, match_case, match_whole_string, remove_extra_spaces): + def string_strip(self, input_string, strings_to_remove, match_case, match_whole_string, preserve_punctuation, remove_extra_spaces): # Create a list of strings to remove, sorted by length removals = [] for line in strings_to_remove.splitlines(): line = line.strip() if not line: continue - + # Store length with the string for sorting removals.append((len(line), line)) - + # Sort by length in descending order to handle longer phrases first removals.sort(reverse=True) - + result = input_string flags = 0 if match_case else re.IGNORECASE @@ -47,13 +50,20 @@ class StringStripNode: patterns = [] for _, string_to_remove in removals: if match_whole_string: - # Enhanced pattern to handle punctuation properly - # Look for the string followed by optional punctuation - pattern = r'(?:\b|(?<=\s)|^)' + re.escape(string_to_remove) + r'(?:[,;:.])?(?=\s|$)' + if preserve_punctuation: + # Match whole words but preserve adjacent punctuation + pattern = r'\b' + re.escape(string_to_remove) + r'\b' + else: + # Original behavior: remove punctuation after match + pattern = r'(?:\b|(?<=\s)|^)' + re.escape(string_to_remove) + r'(?:[,;:.])?(?=\s|$)' else: - # For non-whole string matching, still handle punctuation - pattern = re.escape(string_to_remove) + r'(?:[,;:.])?' - + if preserve_punctuation: + # Simple literal removal preserving punctuation + pattern = re.escape(string_to_remove) + else: + # Original behavior: remove punctuation after match + pattern = re.escape(string_to_remove) + r'(?:[,;:.])?' + patterns.append(re.compile(pattern, flags=flags)) # Apply all removal patterns @@ -62,5 +72,5 @@ class StringStripNode: if remove_extra_spaces: result = self.cleanup_text(result) - + return (result,) \ No newline at end of file diff --git a/string_textbox_node.py b/string_textbox_node.py index 67dde94..e591db9 100644 --- a/string_textbox_node.py +++ b/string_textbox_node.py @@ -14,7 +14,7 @@ class StringTextboxNode: RETURN_TYPES = ("STRING",) RETURN_NAMES = ("output_string",) FUNCTION = "pass_string" - CATEGORY = "utils" + CATEGORY = "utils/StringEssentials" def pass_string(self, input_string): return (input_string,) \ No newline at end of file diff --git a/test_string_nodes.py b/test_string_nodes.py index bef9632..276c159 100644 --- a/test_string_nodes.py +++ b/test_string_nodes.py @@ -1,11 +1,13 @@ import unittest from string_strip_node import StringStripNode -from string_replace_node import StringReplaceNode +from string_multi_replace_node import StringMultiReplaceNode +from string_conditional_append_node import StringConditionalAppendNode class TestStringNodes(unittest.TestCase): def setUp(self): self.strip_node = StringStripNode() - self.replace_node = StringReplaceNode() + self.replace_node = StringMultiReplaceNode() + self.append_node = StringConditionalAppendNode() def test_strip_basic_functionality(self): input_string = "This is a test string with test word" @@ -15,6 +17,7 @@ class TestStringNodes(unittest.TestCase): strings_to_remove=strings_to_remove, match_case=False, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result, "This is a string with word") @@ -28,6 +31,7 @@ class TestStringNodes(unittest.TestCase): strings_to_remove=strings_to_remove, match_case=False, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result, "This is a string with another and") @@ -35,28 +39,45 @@ class TestStringNodes(unittest.TestCase): def test_strip_case_sensitivity(self): input_string = "Test TEST test" strings_to_remove = "test" - + # Case-insensitive result1 = self.strip_node.string_strip( input_string=input_string, strings_to_remove=strings_to_remove, match_case=False, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result1, "") - + # Case-sensitive result2 = self.strip_node.string_strip( input_string=input_string, strings_to_remove=strings_to_remove, match_case=True, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result2, "Test TEST") - def test_strip_punctuation_handling(self): + def test_strip_punctuation_preserved(self): + # Test Issue #6 fix: punctuation should be preserved + input_string = "Let's meet, Grandma!" + strings_to_remove = "meet" + result = self.strip_node.string_strip( + input_string=input_string, + strings_to_remove=strings_to_remove, + match_case=False, + match_whole_string=True, + preserve_punctuation=True, + remove_extra_spaces=True + )[0] + self.assertEqual(result, "Let's, Grandma!") + + def test_strip_punctuation_removed(self): + # Test legacy behavior: punctuation removed input_string = "test, test: test. test; test" strings_to_remove = "test" result = self.strip_node.string_strip( @@ -64,6 +85,7 @@ class TestStringNodes(unittest.TestCase): strings_to_remove=strings_to_remove, match_case=False, match_whole_string=True, + preserve_punctuation=False, remove_extra_spaces=True )[0] self.assertEqual(result, "") @@ -77,6 +99,7 @@ class TestStringNodes(unittest.TestCase): replacement_delimiter="::", match_case=False, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result, "Hello everyone") @@ -92,6 +115,7 @@ class TestStringNodes(unittest.TestCase): replacement_delimiter="::", match_case=False, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result, "The slow black cat jumps over the lazy dog") @@ -99,7 +123,7 @@ class TestStringNodes(unittest.TestCase): def test_replace_case_sensitivity(self): input_string = "Hello HELLO hello" replacement_pairs = "hello::hi" - + # Case-insensitive result1 = self.replace_node.string_replace( input_string=input_string, @@ -107,10 +131,11 @@ class TestStringNodes(unittest.TestCase): replacement_delimiter="::", match_case=False, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result1, "hi hi hi") - + # Case-sensitive result2 = self.replace_node.string_replace( input_string=input_string, @@ -118,6 +143,7 @@ class TestStringNodes(unittest.TestCase): replacement_delimiter="::", match_case=True, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result2, "Hello HELLO hi") @@ -131,10 +157,41 @@ class TestStringNodes(unittest.TestCase): replacement_delimiter="->", match_case=False, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result, "Hello everyone") + def test_replace_punctuation_preserved(self): + # Test Issue #6 fix: punctuation preserved in replace + input_string = "Let's meet, Grandma!" + replacement_pairs = "meet::eat" + result = self.replace_node.string_replace( + input_string=input_string, + replacement_pairs=replacement_pairs, + replacement_delimiter="::", + match_case=False, + match_whole_string=True, + preserve_punctuation=True, + remove_extra_spaces=True + )[0] + self.assertEqual(result, "Let's eat, Grandma!") + + def test_replace_prompt_syntax_preserved(self): + # Test Issue #6: Prompt control syntax like [A1111:Forge:.5] + input_string = "A prompt with [word1:word2:.5] syntax" + replacement_pairs = "prompt::modified" + result = self.replace_node.string_replace( + input_string=input_string, + replacement_pairs=replacement_pairs, + replacement_delimiter="::", + match_case=False, + match_whole_string=True, + preserve_punctuation=True, + remove_extra_spaces=True + )[0] + self.assertEqual(result, "A modified with [word1:word2:.5] syntax") + def test_extra_spaces_handling(self): # Test for StringStripNode input_string = "This is a test string" @@ -144,11 +201,12 @@ class TestStringNodes(unittest.TestCase): strings_to_remove=strings_to_remove, match_case=False, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result1, "This is a string") - - # Test for StringReplaceNode + + # Test for StringMultiReplaceNode replacement_pairs = "is::was" result2 = self.replace_node.string_replace( input_string=input_string, @@ -156,9 +214,135 @@ class TestStringNodes(unittest.TestCase): replacement_delimiter="::", match_case=False, match_whole_string=True, + preserve_punctuation=True, remove_extra_spaces=True )[0] self.assertEqual(result2, "This was a test string") + # Tests for StringConditionalAppendNode (Issue #5) + def test_append_string_not_found(self): + # String not found, should append + input_string = "Hello world" + result, was_appended = self.append_node.conditional_append( + input_string=input_string, + strings_to_check="goodbye", + position="end", + match_case=False, + separator=", " + ) + self.assertEqual(result, "Hello world, goodbye") + self.assertTrue(was_appended) + + def test_append_string_found(self): + # String found, should not append + input_string = "Hello world" + result, was_appended = self.append_node.conditional_append( + input_string=input_string, + strings_to_check="world", + position="end", + match_case=False, + separator=", " + ) + self.assertEqual(result, "Hello world") + self.assertFalse(was_appended) + + def test_append_beginning(self): + # Append at beginning + input_string = "world" + result, was_appended = self.append_node.conditional_append( + input_string=input_string, + strings_to_check="Hello", + position="beginning", + match_case=False, + separator=", " + ) + self.assertEqual(result, "Hello, world") + self.assertTrue(was_appended) + + def test_append_case_insensitive(self): + # Case insensitive search + input_string = "Hello WORLD" + result, was_appended = self.append_node.conditional_append( + input_string=input_string, + strings_to_check="world", + position="end", + match_case=False, + separator=", " + ) + self.assertEqual(result, "Hello WORLD") + self.assertFalse(was_appended) + + def test_append_case_sensitive(self): + # Case sensitive search + input_string = "Hello WORLD" + result, was_appended = self.append_node.conditional_append( + input_string=input_string, + strings_to_check="world", + position="end", + match_case=True, + separator=", " + ) + self.assertEqual(result, "Hello WORLD, world") + self.assertTrue(was_appended) + + def test_append_custom_separator(self): + # Custom separator + input_string = "Hello" + result, was_appended = self.append_node.conditional_append( + input_string=input_string, + strings_to_check="world", + position="end", + match_case=False, + separator=" | " + ) + self.assertEqual(result, "Hello | world") + self.assertTrue(was_appended) + + def test_append_no_separator(self): + # No separator (empty string) + input_string = "Hello" + result, was_appended = self.append_node.conditional_append( + input_string=input_string, + strings_to_check="world", + position="end", + match_case=False, + separator="" + ) + self.assertEqual(result, "Helloworld") + self.assertTrue(was_appended) + + def test_append_multiple_strings(self): + # Multiple strings to check, some found, some not + input_string = "Hello world" + strings_to_check = """world +goodbye +thanks""" + result, was_appended = self.append_node.conditional_append( + input_string=input_string, + strings_to_check=strings_to_check, + position="end", + match_case=False, + separator=", " + ) + # "world" is found, "goodbye" and "thanks" should be appended + self.assertEqual(result, "Hello world, goodbye, thanks") + self.assertTrue(was_appended) + + def test_append_multiple_all_found(self): + # All strings found, nothing appended + input_string = "Hello world goodbye" + strings_to_check = """Hello +world +goodbye""" + result, was_appended = self.append_node.conditional_append( + input_string=input_string, + strings_to_check=strings_to_check, + position="end", + match_case=False, + separator=", " + ) + self.assertEqual(result, "Hello world goodbye") + self.assertFalse(was_appended) + if __name__ == '__main__': unittest.main() \ No newline at end of file