v1 server and lifecycle manager working. execution contract added
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
#from . import action
|
||||
#from . import operation
|
||||
Binary file not shown.
@@ -0,0 +1,3 @@
|
||||
from .action import buildAction
|
||||
#from .runtime import buildSave, loadSave, buildLog, manageFailure, buildOutput
|
||||
#rom .orchestrator import buildOperation
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
from core.apirequest import executeRequest
|
||||
from core.runtime.savedata import loadSave, buildSave
|
||||
from core.runtime.outputs import buildOutput
|
||||
from core.runtime.logs import buildLog
|
||||
|
||||
def buildAction (action, outputs):
|
||||
|
||||
if hasattr(action, "loaddata"):
|
||||
outputs = loadSave(outputs, action)
|
||||
|
||||
response = executeRequest(action, outputs)
|
||||
|
||||
if hasattr(action, "outputs"):
|
||||
outputs = buildOutput(response, action, outputs)
|
||||
|
||||
if hasattr(action, "savedata"):
|
||||
save_file = buildSave(outputs, action)
|
||||
|
||||
if hasattr(action, "prints"):
|
||||
logs = buildLog(action, outputs)
|
||||
|
||||
if action.showstatus is True and response.status_code == 200:
|
||||
print(f"{action.name} successful")
|
||||
|
||||
return outputs, response
|
||||
@@ -0,0 +1,9 @@
|
||||
from core.execution.action import buildAction
|
||||
from core.execution.operation import buildOperation
|
||||
|
||||
def executeContract(module)
|
||||
if module.kind == "operation":
|
||||
outputs = buildOperation(module)
|
||||
|
||||
elif module.kind == "action":
|
||||
outputs = buildAction(module)
|
||||
@@ -0,0 +1 @@
|
||||
from .operation import buildOperation
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,41 @@
|
||||
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
|
||||
|
||||
def buildOperation(definition):
|
||||
actions = definition.actions
|
||||
|
||||
# responses = []
|
||||
outputs = {}
|
||||
|
||||
for action in actions:
|
||||
try:
|
||||
if hasattr(definition, "skipstep"):
|
||||
if skipStep(definition, action, outputs):
|
||||
continue
|
||||
|
||||
outputs, response = buildAction(action, outputs)
|
||||
# responses.append(response)
|
||||
|
||||
except Exception as error:
|
||||
outputs = manageFailure(error, action, outputs)
|
||||
|
||||
# if hasattr(action, "cookies"):
|
||||
# for cookiename, cookie, in cookies:
|
||||
|
||||
# session.cookies.set(
|
||||
# cookiename,
|
||||
# outputs[cookie],
|
||||
# domain=domainname
|
||||
# )
|
||||
|
||||
# print(
|
||||
# {outputs[cookie]},
|
||||
# domain,
|
||||
# cookiename,
|
||||
# )
|
||||
@@ -0,0 +1,14 @@
|
||||
def skipStep(definition, action, outputs):
|
||||
try:
|
||||
if action in definition.skipstep:
|
||||
condition = definition.skipstep[action]
|
||||
|
||||
current_value = outputs[condition["output"]]
|
||||
|
||||
if condition["operator"] == ">=":
|
||||
if current_value >= condition["value"]:
|
||||
print(f"Skipping {action.name}")
|
||||
return True
|
||||
|
||||
except TypeError, KeyError:
|
||||
return False
|
||||
Reference in New Issue
Block a user