]>
git.immae.eu Git - perso/Denise/oms.git/blob - app.py
2 # -*- coding: utf-8 -*-
6 from configuration
import *
7 from gestion_erreurs
import *
8 from gestion_donnees
import *
9 from gestion_unites
import *
10 from trace_courbe
import *
13 import matplotlib
.pyplot
as plt
17 from matplotlib
.backends
.backend_agg
import FigureCanvasAgg
as FigureCanvas
19 app
= flask
.Flask(__name__
)
21 @app.route('/',methods
=['POST','GET'])
23 liste_err
= initialise_erreurs()
24 val_form
= config_init()
25 if flask
.request
.method
=="POST":
26 if 'fichier_donnees' in flask
.request
.files
:
27 ## charger les donneés dans le formulaire
28 fichier
= flask
.request
.files
['fichier_donnees']
30 val_form
= fichier_json_vers_configdonnees(fichier
,liste_err
)
31 #return str(val_form['nb_data'])
32 return flask
.render_template("index.html",err
=liste_err
[1],valform
=val_form
)
34 @app.route('/apropos')
37 return flask
.render_template("apropos.html",err
=[])
40 @app.route("/courbe/<ext>", methods
=['POST'])
41 def courbe_image(ext
):
42 liste_err
= initialise_erreurs()
43 data
= flask
.request
.form
45 # Régler la configuration et les données
46 config
= gere_configuration(data
,liste_err
)
47 l_jours
,l_poids
= gere_donneespoids(data
,config
["naissance"],liste_err
)
51 texte
= donnees_vers_json(l_jours
,l_poids
,config
)
53 # noter le nom de l'enfant pour l'export
54 nomenfant
= simplifie_nom(config
['nom'])
58 fig
= cree_figure(config
,l_jours
,l_poids
,liste_err
)
61 #warning("Là ça va",liste_err)
62 FigureCanvas(fig
).print_png(output
)
66 liste_err
[0].append("Impossible de générer la courbe !")
70 if result
== "success":
71 reponse
= flask
.jsonify({ "result":result
,
72 "messages": liste_err
[1],
73 "image": base64
.b64encode(output
.getvalue()).decode("ascii"),
75 "nomenfant": nomenfant
})
77 reponse
= flask
.jsonify({ "result":result
,
78 "messages": liste_err
[1]+liste_err
[0],
81 "nomenfant": nomenfant
})
83 #return flask.Response(base64.b64encode(output.getvalue()), mimetype='text/plain')
84 elif ext
== "png" and result
== "success":
85 return flask
.Response(output
.getvalue(), mimetype
='image/png')
87 return flask
.render_template("erreur_fatale.html",erreur
="Impossible de générer la courbe")
89 return flask
.render_template("erreur_fatale.html",erreur
="Le type d'image demandé n'est pas reconnu")
91 #return flask.Response(base64.b64encode(output.getvalue()), mimetype='text/plain')
93 #@app.route("/export_donnees",methods=['POST'])
94 #def export_donnees():
95 # # exporte les données au format texte
96 # liste_err = initialise_erreurs()
97 # data = flask.request.form
99 # config = gere_configuration(data,liste_err)
100 # l_jours,l_poids = gere_donneespoids(data,config["naissance"],liste_err)
102 # texte = configuration_vers_texte(config)
103 # texte += donnees_poids_vers_texte(l_jours,l_poids)
105 # #texte = donnees_vers_json(l_jours,l_poids,config)
106 # #return flask.Response(texte,mimetype="application/json")
107 # return flask.Response(texte,mimetype="text/plain")
112 table_faq
= lire_fichier_csv_simple(fichier_FAQ
)
113 l_categ
,table_qr
= extraire_tables_par_cat(table_faq
)
115 return flask
.render_template("faq.html",lcateg
=l_categ
,tableqr
=table_qr
,err
=[])
117 @app.route("/changelog")
120 table_version
= lire_fichier_csv_simple(fichier_changelog
)
122 return flask
.render_template("changelog.html",table
= table_version
,err
=[])
125 if __name__
== "__main__":
126 app
.run(host
='0.0.0.0',debug
=True)