26 lines
768 B
Python
26 lines
768 B
Python
from core.apirequest import executeRequest
|
|
from core.runtime.runtimecontract import buildRuntimeAttr, buildPreRuntimeAttr
|
|
from core.runtime.stopsignals import addStopSignal
|
|
|
|
|
|
def buildAction (action, outputs, process):
|
|
|
|
outputs, resolved, match, filter = buildPreRuntimeAttr(action, outputs, process)
|
|
|
|
if hasattr(action, "allowaction"):
|
|
if not action.allowaction:
|
|
return outputs, None
|
|
|
|
if match:
|
|
return outputs, None
|
|
|
|
response, outputs = executeRequest(action, outputs, resolved)
|
|
|
|
if response is None:
|
|
return outputs, None
|
|
|
|
#outputs["processes"][process.name][action.name]["response"] = response
|
|
outputs, response = buildRuntimeAttr(action, outputs, resolved, response)
|
|
|
|
return outputs, response
|