Files
rmmanager/core/execution/monitor.py
T

42 lines
1.2 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 plugins.rmass.actions import login, refresh_tokens
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 outputs, 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":
outputs, response = buildAction(module, outputs, None)
if module.kind == "operation":
outputs, responses = buildOperation(module, outputs)
response = responses
return outputs, response