Files
artyclaw-artyclaw-comfy/py/EscapeSequenceConverter.py
2026-04-05 20:32:56 +02:00

48 lines
1.3 KiB
Python

# ======================================================================
# Node Pack: artyclaw-comfy
# Author: artyclaw
# Version: 1.0.0
# Description: A power-user toolkit for prompt logic, IO, and RNG.
# ======================================================================
import re
from typing import Dict, Any
import comfy.model_management as model_management
class EscapeSequenceConverter:
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"text": ("STRING", {"multiline": True}),
}
}
RETURN_TYPES = ("STRING",)
FUNCTION = "convert"
CATEGORY = "utils"
# Only convert \\n → newline, \\r → \r, \\t → tab
# Do NOT convert single-backslash sequences.
def convert(self, text: str) -> Dict[str, Any]:
# Define safe replacements
replacements = {
"\\\\n": "\n",
"\\\\r": "\r",
"\\\\t": "\t",
}
for k, v in replacements.items():
text = text.replace(k, v)
return (text,)
NODE_CLASS_MAPPINGS = {
"EscapeSequenceConverter": EscapeSequenceConverter
}
NODE_DISPLAY_NAME_MAPPINGS = {
"EscapeSequenceConverter": "Escape Sequence Converter (Safe)"
}