Added recursive action behavior to recursively go over selected messages

This commit is contained in:
Lyncoln
2026-10-14 18:28:06 -04:00
parent b4bb3b0c05
commit 3acd3fafc5
26 changed files with 44 additions and 104 deletions
Binary file not shown.
+1 -1
View File
@@ -22,7 +22,7 @@ def executeRequest(action, outputs, resolved):
# session.cookies.set(
# sessioncookies[cookie_name] = response[cookie_key],
print(request)
#print(request)
#print(response.status_code)
#print(response.text)
return response, outputs
+12 -4
View File
@@ -3,10 +3,18 @@ from core.runtime.runtimecontract import buildRuntimeAttr, buildPreRuntimeAttr
def buildAction (action, outputs):
outputs, resolved = buildPreRuntimeAttr(action, outputs)
#outputs, resolved = buildPreRuntimeAttr(action, outputs)
response, outputs = executeRequest(action, outputs, resolved)
outputs, response = buildRuntimeAttr(action, outputs, response)
if hasattr(action, "recursive"):
for item in outputs[action.recursive["source"]]:
outputs[action.recursive["label"]] = item
outputs, resolved = buildPreRuntimeAttr(action, outputs)
response, outputs = executeRequest(action, outputs, resolved)
outputs, response = buildRuntimeAttr(action, outputs, response)
else:
outputs, resolved = buildPreRuntimeAttr(action, outputs)
response, outputs = executeRequest(action, outputs, resolved)
outputs, response = buildRuntimeAttr(action, outputs, response)
return outputs, response
+2 -2
View File
@@ -2,7 +2,7 @@ import logging
from core.runtime.managefailure import manageFailure
from core.execution.action.action import buildAction
from core.runtime.skipstep import skipStep
from core.runtime.recursiveactions import recursiveAction
from core.runtime.recursive import recursiveSet
def buildOperation(definition):
actions = definition.actions
@@ -15,7 +15,7 @@ def buildOperation(definition):
continue
if action == "recursiveset":
outputs = recursiveAction(definition, outputs)
outputs = recursiveSet(definition, outputs)
else:
outputs, response = buildAction(action, outputs)
-1
View File
@@ -1 +0,0 @@
from . import manager
Binary file not shown.
Binary file not shown.
-25
View File
@@ -1,25 +0,0 @@
from datetime import datetime
from core.operation.operation import buildOperation
def buildManager(definition):
operations = definition.operations
current_time = datetime.now().time()
for operation in operations:
if hasattr(operation, "role") and operation.role == "activate":
if definition.uptime <= current_time <= definition.downtime:
while True:
current_time = datetime.now().time()
outputs = buildOperation(operation)
if hasattr(operation, "role") and operation.role == "deactivate":
if definition.downtime <= current_time <= definition.uptime:
while True:
current_time = datetime.now().time()
outputs = buildOperation(operation)
# if hasattr(operation, "role") and role == offline:
# outputs = buildOperation(operation)
Binary file not shown.
@@ -1,5 +1,20 @@
from core.execution.action.action import buildAction
def recursiveSet(definition, outputs):
recursiveset = definition.recursiveset["actions"]
for item in outputs[definition.recursiveset["source"]]:
outputs[definition.recursiveset["outputlabel"]] = item
#outputs["recursive"] = item
for job in recursiveset:
outputs, response = buildAction(job, outputs)
print(outputs["profile"])
print(outputs["messages"])
return outputs
from core.execution.action.action import buildAction
def recursiveAction(definition, outputs):
recursiveset = definition.recursiveset["actions"]
for item in outputs[definition.recursiveset["source"]]:
@@ -12,4 +27,3 @@ def recursiveAction(definition, outputs):
print(outputs["profile"])
print(outputs["messages"])
return outputs