Working resolver, working recursive logic with dynamic library creation

This commit is contained in:
Lyncoln
2026-10-14 01:45:21 -04:00
parent a7cd75cc25
commit e776eddb37
32 changed files with 263 additions and 335 deletions
+11 -34
View File
@@ -1,50 +1,27 @@
import logging
#from core import buildAction
from core.runtime.savedata import buildSave, loadSave
from core.runtime.logs import buildLog
from core.runtime.outputs import buildOutput
from core.runtime.managefailure import manageFailure
from core.execution.action.action import buildAction
from .skipstep import skipStep
from core.runtime.resolver import resolveItem2
from core.apirequest import executeRequest
from core.runtime.skipstep import skipStep
from core.runtime.recursiveactions import recursiveAction
def buildOperation(definition):
actions = definition.actions
#print("DEBUG", actions)
responses = []
outputs = {}
#resolved = {}
for action in actions:
#try:
if hasattr(definition, "skipstep"):
if skipStep(definition, action, outputs):
continue
#if hasattr(definition, "resolve"):
#resolved = {}
#if hasattr(action, "resolve"):
#print(outputs)
#resolved = resolveItem(action, outputs)
#print(resolved)
if hasattr(action, "recursive"):
#outputs[action.recursive["target"]] = {}
for item in outputs[action.recursive["source"]]:
outputs = resolveItem2(action, item, outputs)#, resolved)
#print("Resolved value:", outputs)
#outputs[action.recursive["target"]] = outputs[action.recursive["source"]][][action.recursive["target"]]
#print(outputs[action.recursive["target"]])
outputs[action.recursive["target"]] = item
#print(outputs[action.recursive["target"]])
#target = outputs[action.recursive["source"]["target"]
outputs, response = buildAction(action, outputs)#, resolved)
#print(outputs)
#return outputs
if skipStep(definition, action, outputs):
continue
if action == "recursiveset":
outputs = recursiveAction(definition, outputs)
else:
outputs, response = buildAction(action, outputs)
responses.append(response)
#except Exception as error:
#outputs = manageFailure(error, action, outputs)
#print(outputs["message"])
return outputs