event_manage.py 1014 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. from __future__ import print_function
  2. import argparse
  3. import json
  4. from .event 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(dict(kind='frequency', interval=args.interval, start=1),
  13. [dict(kind='mpd', howmany=1)]
  14. )
  15. def main():
  16. conf = get_conf()
  17. p = argparse.ArgumentParser()
  18. p.add_argument('-f', '--file', help="Filepath for DB", required=False,
  19. default=conf['DB_URI'])
  20. sub = p.add_subparsers()
  21. sub_list = sub.add_parser('list')
  22. sub_list.set_defaults(func=main_list)
  23. sub_add = sub.add_parser('add')
  24. sub_add.add_argument('--interval', type=int, default=3600)
  25. sub_add.set_defaults(func=main_add)
  26. args = p.parse_args()
  27. args.func(args)
  28. if __name__ == '__main__':
  29. main()