|
- #!/usr/bin/python
-
- import nilmdb
- import argparse
-
- formatter = argparse.ArgumentDefaultsHelpFormatter
- parser = argparse.ArgumentParser(description='Run the NILM server',
- formatter_class = formatter)
- parser.add_argument('-p', '--port', help='Port number', type=int, default=12380)
- parser.add_argument('-d', '--database', help='Database directory', default="db")
- parser.add_argument('-y', '--yappi', help='Run with yappi profiler',
- action='store_true')
- args = parser.parse_args()
-
- # Start web app on a custom port
- db = nilmdb.NilmDB(args.database)
- server = nilmdb.Server(db, host = "127.0.0.1",
- port = args.port,
- embedded = False)
-
-
- if args.yappi:
- print "Running in yappi"
- try:
- import yappi
- yappi.start()
- server.start(blocking = True)
- finally:
- yappi.stop()
- print "Try: yappi.print_stats(sort_type=yappi.SORTTYPE_TTOT,limit=50)"
- from IPython import embed
- embed()
- else:
- server.start(blocking = True)
- db.close()
|