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