|
class ShowText: |
|
@classmethod |
|
def INPUT_TYPES(s): |
|
return { |
|
"required": { |
|
"text": ("STRING", {"forceInput": True}), |
|
}, |
|
"hidden": { |
|
"unique_id": "UNIQUE_ID", |
|
"extra_pnginfo": "EXTRA_PNGINFO", |
|
}, |
|
} |
|
|
|
INPUT_IS_LIST = True |
|
RETURN_TYPES = ("STRING",) |
|
FUNCTION = "notify" |
|
OUTPUT_NODE = True |
|
OUTPUT_IS_LIST = (True,) |
|
|
|
CATEGORY = "utils" |
|
|
|
def notify(self, text, unique_id=None, extra_pnginfo=None): |
|
if unique_id is not None and extra_pnginfo is not None: |
|
if not isinstance(extra_pnginfo, list): |
|
print("Error: extra_pnginfo is not a list") |
|
elif ( |
|
not isinstance(extra_pnginfo[0], dict) |
|
or "workflow" not in extra_pnginfo[0] |
|
): |
|
print("Error: extra_pnginfo[0] is not a dict or missing 'workflow' key") |
|
else: |
|
workflow = extra_pnginfo[0]["workflow"] |
|
node = next( |
|
(x for x in workflow["nodes"] if str(x["id"]) == str(unique_id[0])), |
|
None, |
|
) |
|
if node: |
|
node["widgets_values"] = [text] |
|
|
|
return {"ui": {"text": text}, "result": (text,)} |
|
|
|
|
|
NODE_CLASS_MAPPINGS = { |
|
"ShowText|pysssss": ShowText, |
|
} |
|
|
|
NODE_DISPLAY_NAME_MAPPINGS = { |
|
"ShowText|pysssss": "Show Text ๐", |
|
} |
|
|