Working resolver tool
This commit is contained in:
Binary file not shown.
@@ -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:
|
||||
|
||||
Binary file not shown.
@@ -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.
@@ -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
|
||||
Reference in New Issue
Block a user