Files
EmAySee-ComfyUI_EmAySee_Cus…/py/EmAySee_RandomIntegerFromTogglesNode_PremadeLabels.py
2026-03-18 16:20:23 -04:00

59 lines
3.5 KiB
Python
Executable File

import comfy.sd
import torch
import numpy as np
import random
class EmAySee_RandomIntegerFromTogglesNode_PremadeLabels:
@classmethod
def INPUT_TYPES(s):
return {"required": {
"node_description": ("STRING", {"multiline": True, "default": "Select options below to choose from randomly."}),
"option_1": ("TOGGLE", {"default": False, "label": "Option 1: Label for Option 1"}), # Example labels
"option_2": ("BOOLEAN", {"default": False, "label": "Option 2: Label for Option 2"}),
"option_3": ("BOOLEAN", {"default": False, "label": "Option 3: Label for Option 3"}),
"option_4": ("BOOLEAN", {"default": False, "label": "Option 4: Label for Option 4"}),
"option_5": ("BOOLEAN", {"default": False, "label": "Option 5: Label for Option 5"}),
"option_6": ("BOOLEAN", {"default": False, "label": "Option 6: Label for Option 6"}),
"option_7": ("BOOLEAN", {"default": False, "label": "Option 7: Label for Option 7"}),
"option_8": ("BOOLEAN", {"default": False, "label": "Option 8: Label for Option 8"}),
"option_9": ("BOOLEAN", {"default": False, "label": "Option 9: Label for Option 9"}),
"option_10": ("BOOLEAN", {"default": False, "label": "Option 10: Label for Option 10"}),
"option_11": ("BOOLEAN", {"default": False, "label": "Option 11: Label for Option 11"}),
"option_12": ("BOOLEAN", {"default": False, "label": "Option 12: Label for Option 12"}),
"option_13": ("BOOLEAN", {"default": False, "label": "Option 13: Label for Option 13"}),
"option_14": ("BOOLEAN", {"default": False, "label": "Option 14: Label for Option 14"}),
"option_15": ("BOOLEAN", {"default": False, "label": "Option 15: Label for Option 15"}),
"option_16": ("BOOLEAN", {"default": False, "label": "Option 16: Label for Option 16"}),
"option_17": ("BOOLEAN", {"default": False, "label": "Option 17: Label for Option 17"}),
"option_18": ("BOOLEAN", {"default": False, "label": "Option 18: Label for Option 18"}),
"option_19": ("BOOLEAN", {"default": False, "label": "Option 19: Label for Option 19"}),
"option_20": ("BOOLEAN", {"default": False, "label": "Option 20: Label for Option 20"}),
}}
RETURN_TYPES = ("INT",)
RETURN_NAMES = ("RANDOM_TOGGLE_INTEGER",)
CATEGORY = "EmAySee_Utils"
FUNCTION = "get_random_integer_from_toggles"
def get_random_integer_from_toggles(self, node_description, **kwargs): # Only node_description and kwargs now
selected_integers = []
for i in range(1, 21):
toggle_name = f"option_{i}" # Toggle input names are now option_1, option_2,...
if kwargs.get(toggle_name, False):
selected_integers.append(i)
if selected_integers:
selected_integer = random.choice(selected_integers)
return (selected_integer,)
else:
print("EmAySee Random Integer From Toggles (Premade Labels): No toggles selected. Returning 0.")
return (0,)
NODE_CLASS_MAPPINGS = {
"EmAySee_RandomIntegerFromTogglesNode_PremadeLabels": EmAySee_RandomIntegerFromTogglesNode_PremadeLabels
}
NODE_DISPLAY_NAME_MAPPINGS = {
"EmAySee_RandomIntegerFromTogglesNode_PremadeLabels": "EmAySee Random Integer From Toggles (Premade Labels)"
}