event_manage.py 997 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from __future__ import print_function
  2. import argparse
  3. import json
  4. from .db import EventModel
  5. from .config import get_conf
  6. def main_list(args):
  7. m = EventModel(args.file)
  8. for alarm, action in m.get_all_alarms_expanded():
  9. print(json.dumps(dict(alarm=alarm, action=action), indent=4))
  10. def main_add(args):
  11. m = EventModel(args.file)
  12. m.add_event(
  13. dict(kind="frequency", interval=args.interval, start=1),
  14. [dict(kind="mpd", howmany=1)],
  15. )
  16. def main():
  17. conf = get_conf()
  18. p = argparse.ArgumentParser()
  19. p.add_argument(
  20. "-f", "--file", help="Filepath for DB", required=False, default=conf["DB_URI"]
  21. )
  22. sub = p.add_subparsers()
  23. sub_list = sub.add_parser("list")
  24. sub_list.set_defaults(func=main_list)
  25. sub_add = sub.add_parser("add")
  26. sub_add.add_argument("--interval", type=int, default=3600)
  27. sub_add.set_defaults(func=main_add)
  28. args = p.parse_args()
  29. args.func(args)
  30. if __name__ == "__main__":
  31. main()