Working resolver tool

This commit is contained in:
Lyncoln
2026-10-13 11:13:13 -04:00
parent 587954cd75
commit db26a74754
10 changed files with 50 additions and 20 deletions
Binary file not shown.
+5 -3
View File
@@ -6,10 +6,12 @@ def buildPath(path, outputs):
for part in path:
if isinstance(part, dict):
value = outputs[part["output"]]
value = outputs[part["output"]][part["keys"]]
for key in part.get("keys", []):
value = value[key]
#for key in part.get("keys", []):
#value = value[key]
result += str(value)
else:
+14 -5
View File
@@ -6,6 +6,7 @@ from core.runtime.outputs import buildOutput
from core.runtime.managefailure import manageFailure
from core.execution.action.action import buildAction
from .skipstep import skipStep
from core.runtime.resolver import resolveItem
def buildOperation(definition):
actions = definition.actions
@@ -20,15 +21,23 @@ def buildOperation(definition):
continue
if hasattr(action, "recursive"):
outputs[action.recursive["target"]] = {}
for item in outputs[action.recursive["source"]]:
resolved = resolveItem(action, item)
print("Resolved value:", resolved)
#outputs[action.recursive["target"]] = outputs[action.recursive["source"]][][action.recursive["target"]]
#print(outputs[action.recursive["target"]])
outputs[action.recursive["target"]] = item
print(outputs[action.recursive["target"]])
#target = outputs[action.recursive["source"]["target"]
outputs, response = buildAction(action, outputs)
#print(outputs["message"])
return outputs
outputs, response = buildAction(action, outputs)
responses.append(response)
#print(item)
#return outputs
else:
outputs, response = buildAction(action, outputs)
responses.append(response)
#except Exception as error:
#outputs = manageFailure(error, action, outputs)
#print(outputs["message"])
print(outputs["message"])
return outputs
Binary file not shown.
Binary file not shown.
+22
View File
@@ -0,0 +1,22 @@
def resolveItem(action, item):
resolved = {}
label = action.resolve["label"]
targetkeys = action.resolve["targetkeys"]
target = item
for key in targetkeys:
target = target[key]
resolved[label] = target
#for label, keys in action.resolve.items():
#target = item
#print(target)
#for key in keys:
#target = target[key]
#resolved[label] = target
#print(resolved[label])
return resolved