# import the libraries import tornado.web import tornado.ioloop from .ws import WebSocketHandler from .frontend import FrontendHandler from .export import ExportHandler from .ranges import yamiIchiCodes import sqlite3 import os import json def start(args): basedir = os.path.dirname(os.path.realpath(__file__)) +'/../' conn = sqlite3.connect(basedir + 'heartbeat.db') with open(basedir+'token.json', 'r') as fp: t = json.load(fp) token = t['token'] print("VALIDATE WITH TOKEN: '{}'".format(token)) conn.cursor() conn.row_factory = sqlite3.Row c = conn.cursor() c.execute(""" CREATE TABLE IF NOT EXISTS beats ( id INTEGER PRIMARY KEY AUTOINCREMENT, bpm INTEGER, beatcount INTEGER, beattime REAL, recordedAt TIMESTAMP, createdAt TIMESTAMP DEFAULT (datetime('now','localtime')) ); """) c.execute("CREATE INDEX IF NOT EXISTS beats_recordedAt ON beats (recordedAt);") conn.commit() # start a new WebSocket Application # use "/" as the root, and the # WebSocketHandler as our handler application = tornado.web.Application([ (r"/ws", WebSocketHandler, {"conn": conn, "token": token}), (r"/(.*).csv", ExportHandler, {"conn": conn}), (r"/assets/(.*)", tornado.web.StaticFileHandler, {"path": "assets/"}), (r"/(.*)", FrontendHandler, {"conn": conn}), ],debug=True) application.listen(8888) tornado.ioloop.IOLoop.instance().start()