67 lines
1.7 KiB
Python
67 lines
1.7 KiB
Python
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
|