59 lines
3.5 KiB
Python
Executable File
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)"
|
|
} |