#!/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()