jarvis.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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("--start", action='store_true', help="Start Jarvis in the current shell")
  18. parser.add_argument("--gui", action='store_true', help="Run Jarvis with shell GUI to test components")
  19. # parse arguments from script parameters
  20. args = parser.parse_args()
  21. if len(sys.argv[1:]) == 0:
  22. parser.print_usage()
  23. sys.exit(1)
  24. if args.start:
  25. print "Starting JARVIS. Press Ctrl+C for stopping"
  26. # catch signal for killing on Ctrl+C pressed
  27. signal.signal(signal.SIGINT, signal_handler)
  28. # start the main controller
  29. main_controller = MainController()
  30. main_controller.start()
  31. if args.gui:
  32. ShellGui()
  33. if __name__ == '__main__':
  34. main()