From 41495d3ed63e361cb791c2dc420544f73e42962b Mon Sep 17 00:00:00 2001 From: Lyncoln Date: Wed, 28 Oct 2026 01:18:14 -0400 Subject: [PATCH] Gated recursive logging behind a boolean. Included none type handling for source so the buildRecursive returns early. Introduced track for progress tracking --- core/execution/recursive.py | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/core/execution/recursive.py b/core/execution/recursive.py index fd0ab59..e09cafb 100644 --- a/core/execution/recursive.py +++ b/core/execution/recursive.py @@ -4,8 +4,18 @@ from core.runtime.runtimecontract import buildPreRuntimeAttr, buildRuntimeAttr from core.apirequest import executeRequest from core.runtime.stopsignals import checkDependency from core.execution.processregistry import registerProcess +from rich.progress import track def buildRecursive(definition, outputs): + recursive_log = False + + #print(outputs[definition.recursiveset["source"]]) + + source = outputs.get(definition.recursiveset["source"]) + + if source is None or source == []: + return outputs, [] + outputs = registerProcess(definition, outputs) responses = [] @@ -18,9 +28,12 @@ def buildRecursive(definition, outputs): #print(f"RECURSIVE DEBUG DURING {definition.name}") #print(items) - if items is None: - print(f"No items available in {source} for {definition.name}") - return outputs, None + #if items is None: + + # if recursive_log: + # print(f"No items available in {source} for {definition.name}") + # + # return outputs, None reverse = definition.recursiveset.get("reverse", False) @@ -28,20 +41,25 @@ def buildRecursive(definition, outputs): #print("reversing") items = reversed(items) - for item in items: + for item in track( + items, + description=f"[green]{definition.name}[/green]" + ): + + #for item in items: outputs[definition.recursiveset["outputlabel"]] = item outputs["stopsignals"] = [] for job in recursiveset: - stop = checkDependency(job, outputs) + stop = checkDependency(job, outputs, definition) #print(f"STOP SIGNAL DEBUGGING during {job.name}") #print(outputs["stopsignals"]) #print(stop) if stop: - outputs["processes"][definition.name]["stopsignals"].append(job.alias) + #outputs["processes"][definition.name]["stopsignals"].append(job.alias) #print("STOP SIGNAL DETECTED") #print(f"Stopping {job.name} due to stop signal") continue @@ -52,7 +70,7 @@ def buildRecursive(definition, outputs): if job.kind == "action": outputs["processes"][definition.name][job.name] = {} - outputs, response = executeContract(job, outputs) + outputs, response = executeContract(job, outputs, definition) responses.append(response) if job.kind == "action": outputs["processes"][definition.name][job.name]["response"] = response