X-Git-Url: https://git.immae.eu/?p=perso%2FDenise%2Foms.git;a=blobdiff_plain;f=app.py;h=7baef86c03fd113bba7850ff607ac854ebe63699;hp=7348472c247a130aec058d6a77d6c0c88f6518f4;hb=a46e126967995e8483b4da81a1f3b586266ee86d;hpb=6ec182072c8282bae3227997281c643f5f2b99a7 diff --git a/app.py b/app.py index 7348472..7baef86 100644 --- a/app.py +++ b/app.py @@ -8,6 +8,8 @@ from gestion_erreurs import * from gestion_donnees import * from gestion_unites import * from trace_courbe import * +from faq import * + import matplotlib.pyplot as plt import base64 @@ -40,19 +42,43 @@ def courbe_image(ext): liste_err = initialise_erreurs() data = flask.request.form - config = gere_configuration(data,liste_err) - + # Régler la configuration et les données + 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) + + # préparer l'export + texte = configuration_vers_texte(config) + texte += donnees_poids_vers_texte(l_jours,l_poids) + + # créer la figure + try: + fig = cree_figure(config,l_jours,l_poids,liste_err) + result = "success" + output = io.BytesIO() + FigureCanvas(fig).print_png(output) + plt.close(fig) + except: + result = "fail" + liste_err[0].append("Impossible de générer la courbe !") - 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": + if result == "success": + reponse = flask.jsonify({ "result":result, + "messages": liste_err[1], + "image": base64.b64encode(output.getvalue()).decode("ascii"), + "export_txt": texte}) + else: + reponse = flask.jsonify({ "result":result, + "messages": liste_err[1]+liste_err[0], + "image": "", + "export_txt": texte}) + return reponse + #return flask.Response(base64.b64encode(output.getvalue()), mimetype='text/plain') + elif ext == "png" and result == "success": return flask.Response(output.getvalue(), mimetype='image/png') + elif ext == "png": + return flask.render_template("erreur_fatale.html",erreur="Impossible de générer la courbe") else: return flask.render_template("erreur_fatale.html",erreur="Le type d'image demandé n'est pas reconnu") @@ -72,5 +98,21 @@ def export_donnees(): return flask.Response(texte,mimetype="text/plain") +@app.route("/faq") +def faq(): + + table_faq = lire_fichier_csv_simple(fichier_FAQ) + l_categ,table_qr = extraire_tables_par_cat(table_faq) + + return flask.render_template("faq.html",lcateg=l_categ,tableqr=table_qr,err=[]) + +@app.route("/changelog") +def changelog(): + + table_version = lire_fichier_csv_simple(fichier_changelog) + + return flask.render_template("changelog.html",table = table_version,err=[]) + + if __name__ == "__main__": app.run(host='0.0.0.0',debug=True) \ No newline at end of file