Fix: variable assigner issue. (#11351)

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
Kevin Hu
2025-11-19 09:49:40 +08:00
committed by GitHub
parent 50bc53a1f5
commit 023f509501
2 changed files with 14 additions and 9 deletions

View File

@ -301,7 +301,7 @@ class Canvas(Graph):
self.retrieval = []
self.memory = []
for k in self.globals.keys():
if k.startswith("sys."):
if k.startswith("sys.") or k.startswith("env."):
if isinstance(self.globals[k], str):
self.globals[k] = ""
elif isinstance(self.globals[k], int):

View File

@ -47,6 +47,8 @@ class VariableAssigner(ComponentBase,ABC):
return
else:
for item in self._param.variables:
if any([not item.get("variable"), not item.get("operator"), not item.get("parameter")]):
assert "Variable is not complete."
variable=item["variable"]
operator=item["operator"]
parameter=item["parameter"]
@ -122,7 +124,8 @@ class VariableAssigner(ComponentBase,ABC):
elif len(variable)!=0 and not isinstance(parameter,type(variable[0])):
return "ERROR:PARAMETER_NOT_LIST_ELEMENT_TYPE"
else:
return variable+parameter
variable.append(parameter)
return variable
def _extend(self,variable,parameter):
parameter=self._canvas.get_variable_value(parameter)
@ -153,7 +156,6 @@ class VariableAssigner(ComponentBase,ABC):
else:
return variable[:-1]
def is_number(self, value):
if isinstance(value, bool):
return False
@ -185,3 +187,6 @@ class VariableAssigner(ComponentBase,ABC):
return variable/parameter
else:
return "ERROR:VARIABLE_NOT_NUMBER or PARAMETER_NOT_NUMBER"
def thoughts(self) -> str:
return "Assign variables from canvas."