diff --git a/core/execution/executioncontract.py b/core/execution/executioncontract.py index 3a5291a..e795889 100644 --- a/core/execution/executioncontract.py +++ b/core/execution/executioncontract.py @@ -1,18 +1,26 @@ from core.execution.action import buildAction from core.execution.operation import buildOperation +from core.execution.monitor import buildMonitor from core.runtime import manageFailure def executeContract(module, outputs): if module.kind == "operation": + outputs, responses = buildOperation(module, outputs) return outputs, responses elif module.kind == "action": + outputs, response = buildAction(module, outputs) return outputs, response - + + elif module.kind == "monitor": + outputs, response= buildMonitor(module, outputs) + + return outputs, response + #except Exception as error: - #outputs = manageFailure(error, module) + #outputs = manageFailure(error, module) \ No newline at end of file diff --git a/core/execution/monitor.py b/core/execution/monitor.py index d98da77..a5d204c 100644 --- a/core/execution/monitor.py +++ b/core/execution/monitor.py @@ -1,25 +1,37 @@ -from core.execution.executioncontract import executeContract +#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 plugins.rmass.actions import login, refresh_tokens from core.runtime import buildOutput +from core.runtime.savedata import loadSave outputs = {} resolved = {} -def buildMonitor(monitor, outputs): - outputs, response = buildAction(refresh_tokens, outputs) - outputs, response = buildAction(monitor, outputs) +def buildMonitor(monitor, outputs): + outputs = loadSave(monitor, outputs) + + response, outputs = executeRequest(monitor, outputs, resolved) + + responsedata = response.json() - readitems = resolveItem(monitor, response.json()) + readitems = resolveItem(monitor, responsedata) + match, filter = applyConditions(monitor, readitems, outputs) + outputs = buildOutput(response, monitor, outputs) + if match: - #print("FILTERING") - outputs = executeContract(filter["execute"], outputs) - response, outputs = executeRequest(monitor, outputs, outputs) + module = filter["execute"] - return outputs \ No newline at end of file + if module.kind == "action": + outputs, response = buildAction(module, outputs) + if module.kind == "operation": + outputs, responses = buildOperation(module, outputs) + response = responses + + return outputs, response \ No newline at end of file