jarvis.py 1014 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/env python
  2. import argparse
  3. from core import ShellGui
  4. from core.MainController import MainController
  5. import signal
  6. import sys
  7. def signal_handler(signal, frame):
  8. print "\n"
  9. print('Ctrl+C pressed. Killing Jarvis')
  10. sys.exit(0)
  11. def main():
  12. """
  13. Entry point of jarvis program
  14. """
  15. # create arguments
  16. parser = argparse.ArgumentParser(description='JARVIS')
  17. parser.add_argument("action", help="[start|gui]")
  18. # parse arguments from script parameters
  19. args = parser.parse_args()
  20. if len(sys.argv[1:]) == 0:
  21. parser.print_usage()
  22. sys.exit(1)
  23. if args.action == "start":
  24. print "Starting JARVIS. Press Ctrl+C for stopping"
  25. # catch signal for killing on Ctrl+C pressed
  26. signal.signal(signal.SIGINT, signal_handler)
  27. # start the main controller
  28. main_controller = MainController()
  29. main_controller.start()
  30. if args.action == "gui":
  31. ShellGui()
  32. if __name__ == '__main__':
  33. main()