From 5679dfd03c9761283e3a36d6d09798aaa334e1e9 Mon Sep 17 00:00:00 2001 From: Denise sur Lya Date: Sun, 14 Jun 2020 23:20:48 +0200 Subject: =?UTF-8?q?Cr=C3=A9ation=20du=20d=C3=A9p=C3=B4t,=20site=20=C3=A0?= =?UTF-8?q?=20peu=20pr=C3=A8s=20fonctionnel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- site.py | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 site.py (limited to 'site.py') diff --git a/site.py b/site.py new file mode 100644 index 0000000..e4c926e --- /dev/null +++ b/site.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import flask +import io +from configuration import * +from gestion_erreurs import * +from gestion_donnees import * +from gestion_unites import * +from trace_courbe import * +import matplotlib.pyplot as plt + +import base64 + +from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas + +app = flask.Flask(__name__) + +@app.route('/',methods=['POST','GET']) +def index(): + liste_err = initialise_erreurs() + val_form = config_init() + if flask.request.method=="POST": + if 'fichier_donnees' in flask.request.files: + ## charger les donneés dans le formulaire + fichier = flask.request.files['fichier_donnees'] + + val_form = fichier_texte_vers_configdonnees(fichier,liste_err) + + return flask.render_template("index.html",err=liste_err[1],valform=val_form) + +@app.route('/apropos') +def apropos(): + + return flask.render_template("apropos.html",err=[]) + + +@app.route("/courbe/", methods=['POST']) +def courbe_image(ext): + liste_err = initialise_erreurs() + data = flask.request.form + + config = gere_configuration(data,liste_err) + + l_jours,l_poids = gere_donneespoids(data,config["naissance"],liste_err) + fig = cree_figure(config,l_jours,l_poids,liste_err) + + output = io.BytesIO() + FigureCanvas(fig).print_png(output) + + plt.close(fig) + if ext == "b64": + return flask.Response(base64.b64encode(output.getvalue()), mimetype='text/plain') + elif ext == "png": + return flask.Response(output.getvalue(), mimetype='image/png') + else: + return flask.render_template("erreur_fatale.html",erreur="Le type d'image demandé n'est pas reconnu") + + #return flask.Response(base64.b64encode(output.getvalue()), mimetype='text/plain') + +@app.route("/export_donnees",methods=['POST']) +def export_donnees(): + # exporte les données au format texte + liste_err = initialise_erreurs() + data = flask.request.form + + config = gere_configuration(data,liste_err) + l_jours,l_poids = gere_donneespoids(data,config["naissance"],liste_err) + + texte = configuration_vers_texte(config) + texte += donnees_poids_vers_texte(l_jours,l_poids) + + return flask.Response(texte,mimetype="text/plain") + +app.run(host='0.0.0.0',debug=True) \ No newline at end of file -- cgit v1.2.3