From dc04a2bb850513da8b1fd824f1c351a490d44b3b Mon Sep 17 00:00:00 2001 From: Lyncoln Date: Sun, 18 Oct 2026 00:25:17 -0400 Subject: [PATCH] Improved response collection across operation items --- core/execution/action/action.py | 7 +++++++ core/execution/operation/operation.py | 12 ++++++++---- core/runtime/recursive.py | 20 +++++++++++++++----- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/core/execution/action/action.py b/core/execution/action/action.py index 29bdf9e..ba47a95 100644 --- a/core/execution/action/action.py +++ b/core/execution/action/action.py @@ -6,6 +6,7 @@ def buildAction (action, outputs): #outputs, resolved = buildPreRuntimeAttr(action, outputs) if hasattr(action, "recursive"): + recursiveresponses = [] items = outputs[action.recursive["source"]] reverse = action.recursive.get("reverse", False) @@ -14,10 +15,16 @@ def buildAction (action, outputs): for item in items: outputs[action.recursive["label"]] = item + outputs, resolved = buildPreRuntimeAttr(action, outputs) + response, outputs = executeRequest(action, outputs, resolved) + recursiveresponses.append(response) + outputs, response = buildRuntimeAttr(action, outputs, response) + return outputs, recursiveresponses + else: outputs, resolved = buildPreRuntimeAttr(action, outputs) response, outputs = executeRequest(action, outputs, resolved) diff --git a/core/execution/operation/operation.py b/core/execution/operation/operation.py index 402d863..05a1558 100644 --- a/core/execution/operation/operation.py +++ b/core/execution/operation/operation.py @@ -16,13 +16,17 @@ def buildOperation(definition, outputs): continue if action == "recursiveset": - outputs = recursiveSet(definition, outputs) + outputs, responses = recursiveSet(definition, outputs, responses) else: outputs, response = buildAction(action, outputs) responses.append(response) - + + + print("DEBUG ID GRAB. CHECK LASTMESSAGES") + print(outputs) + print(responses) #except Exception as error: #outputs = manageFailure(error, action, outputs) - #print(outputs) - return outputs + + return outputs, responses diff --git a/core/runtime/recursive.py b/core/runtime/recursive.py index efcc0a8..12bdad6 100644 --- a/core/runtime/recursive.py +++ b/core/runtime/recursive.py @@ -1,17 +1,27 @@ from core.execution.action.action import buildAction +from plugins.rmass.actions import synapsenotify -def recursiveSet(definition, outputs): +def recursiveSet(definition, outputs, responses): recursiveset = definition.recursiveset["actions"] for item in outputs[definition.recursiveset["source"]]: outputs[definition.recursiveset["outputlabel"]] = item - #outputs["recursive"] = item - print("DEBUGGING recursiveset item") - print(outputs[definition.recursiveset["outputlabel"]]) + + #print("DEBUGGING recursiveset item") + #print(outputs[definition.recursiveset["outputlabel"]]) for job in recursiveset: outputs, response = buildAction(job, outputs) + responses.append(response) - return outputs + #response_data = response.json() + #print(f"RECURSIVESET {job.name} DEBUG") + #print(response_data) + + #if response.status_code != 200: + #outputs, response = buildAction(synapsenotify, outputs) + #print("GETRMASSMESSAGEIDDEBUG") + #print(outputs) + return outputs, responses from core.execution.action.action import buildAction