Files
taskrunner/taskrunner.py
T
2026-07-25 10:32:28 +01:00

54 lines
895 B
Python

import json
from playbook import StepLog, CustomStep, Play, Status
from dataclasses import asdict
def pre(ctx) -> StepLog:
ctx["a"] = 5
return StepLog(
"pre something",
Status.GOOD,
0,
msg="set 5",
)
def play(ctx):
ctx["a"] = ctx["a"] + 10
return StepLog(
"play something",
Status.BAD,
0,
msg="added 10",
)
def post(ctx):
ctx["a"] = ctx["a"] / 2
return StepLog(
"post something",
Status.GOOD,
0,
msg=f"halved {ctx["a"]}",
)
def main():
newPlay: Play = Play("backup dirs")
newPlay.add_step(
"backup dirs",
CustomStep(
"custom step",
pre, play, post,
)
)
print(newPlay.view_playbook())
print(json.dumps(asdict(newPlay.play()), indent=2))
if __name__ == "__main__":
main()