41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
import logging
|
|
|
|
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 = executeRequest(monitor, outputs, resolved)
|
|
|
|
##Potentially replace response processing with responsePolicy
|
|
if response is None:
|
|
return None
|
|
|
|
if not response.ok:
|
|
logging.warning(f"Response with status code {response.status_code} during {monitor.name}")
|
|
return response
|
|
|
|
responsedata = response.json()
|
|
|
|
readitems = resolveItem(monitor, responsedata)
|
|
|
|
match, filter = applyConditions(monitor, readitems, outputs)
|
|
|
|
buildOutput(response, monitor, outputs)
|
|
|
|
if match:
|
|
from core.execution.executioncontract import executeContract
|
|
|
|
logging.info(filter.get("print"))
|
|
module = filter["execute"]
|
|
|
|
response = executeContract(filter["execute"], outputs)
|
|
|
|
return response |