from core.apirequest import executeRequest from core.runtime.runtimecontract import buildRuntimeAttr, buildPreRuntimeAttr def buildAction (action, outputs): #outputs, resolved = buildPreRuntimeAttr(action, outputs) if hasattr(action, "recursive"): for item in outputs[action.recursive["source"]]: outputs[action.recursive["label"]] = item outputs, resolved = buildPreRuntimeAttr(action, outputs) response, outputs = executeRequest(action, outputs, resolved) outputs, response = buildRuntimeAttr(action, outputs, response) else: outputs, resolved = buildPreRuntimeAttr(action, outputs) response, outputs = executeRequest(action, outputs, resolved) outputs, response = buildRuntimeAttr(action, outputs, response) return outputs, response