jarvis.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. parser.add_argument("--synapse", help="SYNAPSE. Name of a synapse to load in quote")
  19. parser.add_argument("--brain-file", help="BRAIN_PATH_FILE")
  20. # parse arguments from script parameters
  21. args = parser.parse_args()
  22. print args
  23. if len(sys.argv[1:]) == 0:
  24. parser.print_usage()
  25. sys.exit(1)
  26. if args.action == "start":
  27. # user set a synapse to start
  28. if args.synapse is not None:
  29. print "Playing synapse: %s" % args.synapse
  30. if args.synapse is None:
  31. print "Starting JARVIS. Press Ctrl+C for stopping"
  32. # catch signal for killing on Ctrl+C pressed
  33. signal.signal(signal.SIGINT, signal_handler)
  34. # start the main controller
  35. main_controller = MainController()
  36. main_controller.start()
  37. if args.action == "gui":
  38. ShellGui()
  39. if __name__ == '__main__':
  40. main()