Projekt Litsimaja - Lapikute tagatoa seintele programmeeritavad ARGB ribad
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.
 
 
 

50 lines
1.3 KiB

#!/usr/bin/env python3
import logging
import sys
import lib.ProgramLoading as Pl
from lib.Litsimaja import Litsimaja
from flask import Flask, request, Response, render_template
# logging
logger = logging.getLogger('litsimaja')
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler = logging.FileHandler('litsimaja.log')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
stdout_handler = logging.StreamHandler(sys.stdout)
stdout_handler.setFormatter(formatter)
logger.addHandler(stdout_handler)
# start litsimaja
lm = Litsimaja()
app = Flask(__name__, static_url_path='', static_folder='templates')
@app.route('/', methods=['GET'])
def respondroot():
return render_template('index.html', programs=Pl.list_all(True))
@app.route('/run')
def run():
Pl.run('siinus', 'MyProgram', lm, logger, {'color': [50, 50, 50]})
return Response(status=200)
@app.route('/crash', methods=['GET'])
def crash():
lm.clear_loops()
return Response(status=200)
@app.route('/program/<program>', methods=['POST'])
def run_program(program):
args = request.get_json(force=True)
prg = program.split('.')
Pl.run(prg[0], prg[1], lm, logger, args)
return Response(status=200)
app.run('0.0.0.0', 8080)