add CleaningString

This commit is contained in:
Toru Tamaki
2026-08-16 10:19:02 +09:00
parent 8237a610ca
commit e4b289f31b
2 changed files with 42 additions and 0 deletions
+2
View File
@@ -1,6 +1,8 @@
from .nodes.cleaning_string import CleaningString
from .nodes.string_list_concat import StringListConcat, comfy_entrypoint
__all__ = [
"StringListConcat",
"CleaningString",
"comfy_entrypoint"
]
+40
View File
@@ -0,0 +1,40 @@
import re
from typing_extensions import override
from comfy_api.latest import ComfyExtension, io
class CleaningString(io.ComfyNode):
"""Cleans a string by normalizing line breaks, commas, and spaces."""
@classmethod
def define_schema(cls) -> io.Schema:
return io.Schema(
node_id="CleaningString",
display_name="Cleaning String",
category="tttamaki/string-list",
description="Cleans line breaks, empty comma-separated values, and repeated spaces",
inputs=[
io.String.Input("string", multiline=True),
],
outputs=[
io.String.Output(),
],
)
@classmethod
def execute(cls, string: str) -> io.NodeOutput:
result = re.sub(r"[\r\n]+", " ", string)
result = re.sub(r",[ \t]+,", ",", result)
result = re.sub(r" {2,}", " ", result)
return io.NodeOutput(result)
class CleaningStringExtension(ComfyExtension):
@override
async def get_node_list(self) -> list[type[io.ComfyNode]]:
return [CleaningString]
async def comfy_entrypoint() -> CleaningStringExtension:
return CleaningStringExtension()