Spaces:
Running
on
L40S
Running
on
L40S
from .context_utils import is_context_empty | |
from .constants import get_category, get_name | |
from .utils import FlexibleOptionalInputType, any_type | |
def is_none(value): | |
"""Checks if a value is none. Pulled out in case we want to expand what 'None' means.""" | |
if value is not None: | |
if isinstance(value, dict) and 'model' in value and 'clip' in value: | |
return is_context_empty(value) | |
return value is None | |
class RgthreeAnySwitch: | |
"""The dynamic Any Switch. """ | |
NAME = get_name("Any Switch") | |
CATEGORY = get_category() | |
def INPUT_TYPES(cls): # pylint: disable = invalid-name, missing-function-docstring | |
return { | |
"required": {}, | |
"optional": FlexibleOptionalInputType(any_type), | |
} | |
RETURN_TYPES = (any_type,) | |
RETURN_NAMES = ('*',) | |
FUNCTION = "switch" | |
def switch(self, **kwargs): | |
"""Chooses the first non-empty item to output.""" | |
any_value = None | |
for key, value in kwargs.items(): | |
if key.startswith('any_') and not is_none(value): | |
any_value = value | |
break | |
return (any_value,) | |