Files
rmmanager/core/execution/monitor.py
T

41 lines
1.1 KiB
Python

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