Files
rmmanager/core/runtime/runtimecontract.py
T

49 lines
1.5 KiB
Python

from core.execution.action import action
from core.runtime import buildSelect, buildOutput, buildSave, loadSave, saveRow, readRow, buildLog
from core.runtime.image import buildImage
#from core.runtime.select import buildSelect3
from core.runtime.resolver import resolveItem, extractItem
from core.runtime.applyconditions import applyConditions
from core.runtime.responsepolicy import responsePolicy
from core.runtime.stopsignals import addStopSignal
def buildPreRuntimeAttr(action, outputs, process):
outputs = loadSave(action, outputs)
resolved = resolveItem(action, outputs)
resolved, outputs = readRow(action, resolved, outputs)
match, filter = applyConditions(action, resolved, outputs)
if match:
outputs = addStopSignal(action, outputs, process)
return outputs, resolved, match, filter
def buildRuntimeAttr(action, outputs, resolved, response):
outputs = responsePolicy(response, action, outputs, resolved)
#print(f"Response status code: {response.status_code} during {action.name}")
#print(f"Response content: {response.content} during {action.name}")
outputs = buildOutput(response, action, outputs)
if not response.ok:
outputs = addStopSignal(action, outputs)
return outputs, response
resolved = extractItem(action, outputs, resolved)
outputs = buildImage(response, action, outputs)
action, outputs = buildSelect(action, outputs)
buildSave(action, outputs)
saveRow(action, outputs, resolved)
buildLog(action, outputs, response)
return outputs, response