import logging #from core import buildAction from core.runtime.savedata import buildSave, loadSave from core.runtime.logs import buildLog 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 #print("DEBUG", actions) responses = [] outputs = {} for action in actions: #try: if hasattr(definition, "skipstep"): if skipStep(definition, action, outputs): 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(item) #return outputs else: outputs, response = buildAction(action, outputs) responses.append(response) #except Exception as error: #outputs = manageFailure(error, action, outputs) print(outputs["message"]) return outputs