Files
rmmanager/core/execution/operation/operation.py
T
2026-10-13 11:13:13 -04:00

44 lines
1.7 KiB
Python

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 resolveItem
def buildOperation(definition):
actions = definition.actions
#print("DEBUG", actions)
responses = []
outputs = {}
for action in actions:
#try:
if hasattr(definition, "skipstep"):
if skipStep(definition, action, outputs):
continue
if hasattr(action, "recursive"):
outputs[action.recursive["target"]] = {}
for item in outputs[action.recursive["source"]]:
resolved = resolveItem(action, item)
print("Resolved value:", resolved)
#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)
#print(item)
#return outputs
else:
outputs, response = buildAction(action, outputs)
responses.append(response)
#except Exception as error:
#outputs = manageFailure(error, action, outputs)
print(outputs["message"])
return outputs