Files
yanlang0123-ComfyUI_Lam/py/MultiParamFormula.py
T
2024-03-22 11:06:46 +08:00

47 lines
1.1 KiB
Python

from .src.utils.uitls import AlwaysEqualProxy,AlwaysTupleZero
class MultiParamFormula:
def __init__(self):
pass
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"expression": ("STRING",{"multiline": True}),
},
"optional": {
"p0": (AlwaysEqualProxy("*"), ),
"p1": (AlwaysEqualProxy("*"), ),
}
}
RETURN_TYPES = AlwaysTupleZero(AlwaysEqualProxy("*"),)
RETURN_NAMES = ('p0',)
FUNCTION = "evaluate"
CATEGORY = "lam"
OUTPUT_NODE = True
def evaluate(self, expression, **kwargs):
lookup = {}
for arg in kwargs:
lookup[arg] = kwargs[arg]
msg='完成'
r=""
try:
r = eval(expression, lookup)
except Exception as e:
msg='表达式错误'
if not isinstance(r, tuple):
r = (r,)
return {"ui": {"value": [msg]}, "result": r}
NODE_CLASS_MAPPINGS = {
"MultiParamFormula": MultiParamFormula
}
NODE_DISPLAY_NAME_MAPPINGS = {
"MultiParamFormula": "多参代码表达式"
}