Files
taskrunner/taskrunner.py
T
2026-07-29 14:02:40 +01:00

42 lines
893 B
Python

import json
import argparse
import traceback
from typing import List
from playbook import Play
from dataclasses import asdict
from playbook.action_registry import ActionRegistry
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Playbook Taskrunner")
# Flag for the playbook file
parser.add_argument(
"-p", "--playbook",
type=str,
required=True,
help="Path to the playbook yaml file"
)
return parser.parse_args()
def main():
args: argparse.Namespace = parse_args()
newPlay: Play
try:
newPlay = Play.from_yaml(args.playbook)
except Exception as e:
print(f"Failed to load playbook: {e}")
traceback.print_exc()
exit(1)
print(newPlay.view_playbook())
# print(json.dumps(asdict(newPlay.play()), indent=2))
if __name__ == "__main__":
main()