Created the canonical recursive execution handler buildRecursive that now lives in the execution layer instead of the runtime. the previous recursive handlers are depreciated
This commit is contained in:
@@ -4,34 +4,34 @@ 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)
|
||||
#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)
|
||||
# for item in items:
|
||||
# outputs[action.recursive["label"]] = item
|
||||
# outputs, resolved, match, filter = buildPreRuntimeAttr(action, outputs)
|
||||
|
||||
if match:
|
||||
continue
|
||||
# if match:
|
||||
# continue
|
||||
|
||||
response, outputs = executeRequest(action, outputs, resolved)
|
||||
recursiveresponses.append(response)
|
||||
outputs, response = buildRuntimeAttr(action, outputs, resolved, response)
|
||||
# response, outputs = executeRequest(action, outputs, resolved)
|
||||
# recursiveresponses.append(response)
|
||||
# outputs, response = buildRuntimeAttr(action, outputs, resolved, response)
|
||||
|
||||
return outputs, recursiveresponses
|
||||
# return outputs, recursiveresponses
|
||||
|
||||
else:
|
||||
outputs, resolved, match, filter = buildPreRuntimeAttr(action, outputs)
|
||||
#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)
|
||||
if match:
|
||||
return outputs, resolved
|
||||
|
||||
response, outputs = executeRequest(action, outputs, resolved)
|
||||
outputs, response = buildRuntimeAttr(action, outputs, resolved, response)
|
||||
|
||||
return outputs, response
|
||||
|
||||
Reference in New Issue
Block a user