def buildPath(path, outputs, resolved): result = "" for part in path: if isinstance(part, dict): if "resolved" in part: value = resolved[part["resolved"]] elif "output" in part: value = outputs[part["output"]] else: raise ValueError(f"Unsupported path component: {part}") result += str(value) else: result += str(part) return result def buildPath3(path, outputs, resolved): if isinstance(path, str): return path result = "" for part in path: if isinstance(part, dict): if "resolved" in part: #for key, val in part.items(): #value = outputs[part["output"]][part["keys"]] value = resolved[part["resolved"]] #print("DEBUG path", value) #for key in part.get("keys", []): #value = value[key] if "suffix" in part: suffix = part["suffix"] if value != None: result += str(value) if suffix != None: result += str(suffix) else: result += part print(result) return result def buildPath2(path, outputs, resolved): if isinstance(path, str): return path result = "" for part in path: if isinstance(part, dict): #value = outputs[part["output"]][part["keys"]] value = outputs["path"] #print("DEBUG path", value) #for key in part.get("keys", []): #value = value[key] result += str(value) else: result += part #print(result) return result