You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

36 lines
1.1 KiB

  1. #!/usr/bin/python
  2. import nilmdb
  3. import argparse
  4. formatter = argparse.ArgumentDefaultsHelpFormatter
  5. parser = argparse.ArgumentParser(description='Run the NILM server',
  6. formatter_class = formatter)
  7. parser.add_argument('-p', '--port', help='Port number', type=int, default=12380)
  8. parser.add_argument('-d', '--database', help='Database directory', default="db")
  9. parser.add_argument('-y', '--yappi', help='Run with yappi profiler',
  10. action='store_true')
  11. args = parser.parse_args()
  12. # Start web app on a custom port
  13. db = nilmdb.NilmDB(args.database)
  14. server = nilmdb.Server(db, host = "127.0.0.1",
  15. port = args.port,
  16. embedded = False)
  17. if args.yappi:
  18. print "Running in yappi"
  19. try:
  20. import yappi
  21. yappi.start()
  22. server.start(blocking = True)
  23. finally:
  24. yappi.stop()
  25. print "Try: yappi.print_stats(sort_type=yappi.SORTTYPE_TTOT,limit=50)"
  26. from IPython import embed
  27. embed()
  28. else:
  29. server.start(blocking = True)
  30. db.close()