38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
from core.apirequest import executeRequest
|
|
from core.runtime.runtimecontract import buildRuntimeAttr, buildPreRuntimeAttr
|
|
|
|
|
|
def buildAction (action, outputs):
|
|
|
|
#if hasattr(action, "recursive"):
|
|
# recursiveresponses = []
|
|
# items = outputs[action.recursive["source"]]
|
|
# reverse = action.recursive.get("reverse", False)
|
|
#
|
|
# if reverse:
|
|
# items = reversed(items)
|
|
|
|
# for item in items:
|
|
# outputs[action.recursive["label"]] = item
|
|
# outputs, resolved, match, filter = buildPreRuntimeAttr(action, outputs)
|
|
|
|
# if match:
|
|
# continue
|
|
|
|
# response, outputs = executeRequest(action, outputs, resolved)
|
|
# recursiveresponses.append(response)
|
|
# outputs, response = buildRuntimeAttr(action, outputs, resolved, response)
|
|
|
|
# return outputs, recursiveresponses
|
|
|
|
#else:
|
|
outputs, resolved, match, filter = buildPreRuntimeAttr(action, outputs)
|
|
|
|
if match:
|
|
return outputs, resolved
|
|
|
|
response, outputs = executeRequest(action, outputs, resolved)
|
|
outputs, response = buildRuntimeAttr(action, outputs, resolved, response)
|
|
|
|
return outputs, response
|