import flask import string import time import threading import socket app = flask.Flask(__name__) @app.route('/set/') def set_task(task): app.port.write(string.uppercase[task]) return flask.redirect('/') @app.route('/clear/') def clear_task(task): app.port.write(string.lowercase[task]) return flask.redirect('/') @app.route('/set/all') def set_all(): app.port.write(string.uppercase) return flask.redirect('/') @app.route('/clear/all') def clear_all(): app.port.write(string.lowercase) return flask.redirect('/') @app.route('/restart') def restart(): import thread thread.interrupt_main() return flask.redirect('/') # xD @app.route('/') def index(): states = app.rth.states.items() states.sort(key=lambda (k, v): v['name']) return flask.render_template( 'index.html', hostname=socket.gethostname(), states=states) @app.route('/arduino/reset') def reset(): app.port.dtr = False time.sleep(0.5) app.port.dtr = True time.sleep(0.5) app.port.dtr = False time.sleep(0.5) app.port.dtr = True return flask.redirect('/') def init(ser): app.port = ser app.th = threading.Thread(target=app.run, kwargs={ 'host': '0.0.0.0' }) app.th.daemon = True app.th.start()