diff --git a/core/runtime/runtimecontract.py b/core/runtime/runtimecontract.py index 8f1c5e0..dd5ced7 100644 --- a/core/runtime/runtimecontract.py +++ b/core/runtime/runtimecontract.py @@ -1,34 +1,35 @@ -from core.runtime import buildSelect, buildOutput, buildSave, loadSave, saveRow, buildLog +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 +from core.runtime.applyconditions import applyConditions +from core.runtime.responsepolicy import responsePolicy def buildPreRuntimeAttr(action, outputs): - if action.kind == "action": - outputs = loadSave(action, outputs) - resolved = resolveItem(action, outputs) - return outputs, resolved - elif action.kind == "monitor": - outputs = loadSave(action, outputs) - resolved = {} - return outputs, resolved + outputs = loadSave(action, outputs) + + resolved = resolveItem(action, outputs) + + resolved, outputs = readRow(action, resolved, outputs) + + match, filter = applyConditions(action, resolved, outputs) + + return outputs, resolved, match, filter + def buildRuntimeAttr(action, outputs, resolved, response): - if action.kind == "action": - outputs = buildOutput(response, action, outputs) + outputs, resolved = responsePolicy(response, action, outputs, resolved) - outputs = buildImage(response, action, outputs) - - select_data, action, outputs = buildSelect(action, outputs) + outputs = buildOutput(response, action, outputs) + + outputs = buildImage(response, action, outputs) - buildSave(action, outputs) + select_data, action, outputs = buildSelect(action, outputs) - saveRow(action, outputs, resolved) + buildSave(action, outputs) - buildLog(action, outputs, response) + saveRow(action, outputs, resolved) - return outputs, response - elif action.kind == "monitor": - #readitems = resolveItem(action, response.json()) - #print(readitems) - return outputs, response \ No newline at end of file + buildLog(action, outputs, response) + + return outputs, response \ No newline at end of file