]>
git.immae.eu Git - perso/Denise/oms.git/blob - app.py
2 # -*- coding: utf-8 -*-
6 import matplotlib
.pyplot
as plt
8 from matplotlib
.backends
.backend_agg
import FigureCanvasAgg
as FigureCanvas
10 from configuration
import config_init
11 from gestion_erreurs
import *
12 from gestion_donnees
import *
13 from gestion_unites
import *
14 from trace_courbe
import *
18 app
= flask
.Flask(__name__
)
20 @app.route('/',methods
=['POST','GET'])
22 liste_err
= initialise_erreurs()
23 val_form
= config_init()
24 if flask
.request
.method
=="POST":
25 if 'fichier_donnees' in flask
.request
.files
:
26 ## charger les donneés dans le formulaire
27 fichier
= flask
.request
.files
['fichier_donnees']
28 chaine
= fichier
.read()
29 val_form2
= fichier_json_vers_configdonnees(chaine
,liste_err
)
31 return flask
.render_template("index.html",err
=liste_err
[2]+liste_err
[1]+liste_err
[0],valform
=val_form
)
32 val_form
.update(val_form2
)
33 #return str(val_form['nb_data'])
34 return flask
.render_template("index.html",err
=liste_err
[1],valform
=val_form
)
36 @app.route('/apropos')
39 return flask
.render_template("apropos.html",err
=[])
42 @app.route("/courbe/<ext>", methods
=['POST'])
43 def courbe_image(ext
):
44 liste_err
= initialise_erreurs()
45 data
= flask
.request
.form
47 # Régler la configuration et les données
48 config
= gere_configuration(data
,liste_err
)
49 l_jours
,l_poids
= gere_donneespoids(data
,config
["naissance"],liste_err
)
53 texte
= donnees_vers_json(l_jours
,l_poids
,config
)
55 # noter le nom de l'enfant pour l'export
56 nomenfant
= simplifie_nom(config
['nom'])
60 fig
= cree_figure(config
,l_jours
,l_poids
,liste_err
)
63 FigureCanvas(fig
).print_png(output
)
68 liste_err
[0].append("Impossible de générer la courbe ! Config : "+str(config
))
72 if result
== "success":
73 reponse
= flask
.jsonify({ "result":result
,
74 "messages": liste_err
[1],
75 "image": base64
.b64encode(output
.getvalue()).decode("ascii"),
77 "nomenfant": nomenfant
})
79 reponse
= flask
.jsonify({ "result":result
,
80 "messages": liste_err
[2]+liste_err
[1]+liste_err
[0],
83 "nomenfant": nomenfant
})
86 elif ext
== "png" and result
== "success":
87 return flask
.Response(output
.getvalue(), mimetype
='image/png')
89 return flask
.render_template("erreur_fatale.html",erreur
="Impossible de générer la courbe")
91 return flask
.render_template("erreur_fatale.html",erreur
="Le type d'image demandé n'est pas reconnu")
94 @app.route("/contact")
96 return flask
.render_template("contact.html",err
=[])
101 table_faq
= lire_fichier_csv_simple(fichier_FAQ
)
102 l_categ
,table_qr
= extraire_tables_par_cat(table_faq
)
104 return flask
.render_template("faq.html",lcateg
=l_categ
,tableqr
=table_qr
,err
=[])
106 @app.route("/changelog")
109 table_version
= lire_fichier_csv_simple(fichier_changelog
)
111 return flask
.render_template("changelog.html",table
= table_version
,err
=[])
113 if __name__
== "__main__":
114 print("Mode debug maison : "+str(niveau_debug
))
115 app
.run(host
='0.0.0.0',debug
=True)