import logging #from core.execution.executioncontract import executeContract from core.execution.action import buildAction from core.execution.operation import buildOperation from core.apirequest import executeRequest from core.runtime.resolver import resolveItem from core.runtime.applyconditions import applyConditions from core.runtime import buildOutput from core.runtime.savedata import loadSave outputs = {} resolved = {} def buildMonitor(monitor, outputs): loadSave(monitor, outputs) response, outputs = executeRequest(monitor, outputs, resolved) if response is None: return None responsedata = response.json() readitems = resolveItem(monitor, responsedata) match, filter = applyConditions(monitor, readitems, outputs) buildOutput(response, monitor, outputs) if match: logging.info(filter.get("print")) module = filter["execute"] if module.kind == "action": response = buildAction(module, outputs, None) if module.kind == "operation": responses = buildOperation(module, outputs) response = responses return response