diff --git a/agent/canvas.py b/agent/canvas.py index 4c3ca59192..bd5f364187 100644 --- a/agent/canvas.py +++ b/agent/canvas.py @@ -354,25 +354,20 @@ class Canvas(Graph): key = k[4:] if key in self.variables: variable = self.variables[key] - if variable["value"]: - self.globals[k] = variable["value"] + value = variable.get("value") + if value is not None: + self.globals[k] = value else: - if variable["type"] == "string": - self.globals[k] = "" - # variable["value"] = "" - elif variable["type"] == "number": + var_type = variable.get("type", "") + if var_type == "number": self.globals[k] = 0 - # variable["value"] = 0 - elif variable["type"] == "boolean": + elif var_type == "boolean": self.globals[k] = False - # variable["value"] = False - elif variable["type"] == "object": + elif var_type == "object": self.globals[k] = {} - # variable["value"] = {} - elif variable["type"].startswith("array"): + elif var_type.startswith("array"): self.globals[k] = [] - # variable["value"] = [] - else: + else: # "string" or unknown self.globals[k] = "" else: self.globals[k] = ""