Add python led programs
This commit is contained in:
57
pyleds/run.py
Executable file
57
pyleds/run.py
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env python3
|
||||
import logging
|
||||
import sys
|
||||
import json
|
||||
|
||||
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__)
|
||||
# Pl.run('siinus', 'Static', lm, logger, {'color': [50, 50, 50]})
|
||||
|
||||
|
||||
@app.route('/', methods=['GET'])
|
||||
def respondroot():
|
||||
return render_template('index.html', programs=Pl.list_all(True))
|
||||
|
||||
|
||||
@app.route('/jscolor.js', methods=['GET'])
|
||||
def respondjs():
|
||||
return render_template('jscolor.js')
|
||||
|
||||
|
||||
@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)
|
||||
Reference in New Issue
Block a user