summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenise sur Lya <sekhmet@lya>2020-06-19 17:26:40 +0200
committerDenise sur Lya <sekhmet@lya>2020-06-19 17:26:40 +0200
commit248d9504547a60a21b2e2fe72cd80bf39a991c16 (patch)
treef22ef1fafaecd07107312ec60546e34814aeb31f
parentd5af53b51c60dd9ebf057b9e24a9bbec04086e50 (diff)
downloadoms-248d9504547a60a21b2e2fe72cd80bf39a991c16.tar.gz
oms-248d9504547a60a21b2e2fe72cd80bf39a991c16.tar.zst
oms-248d9504547a60a21b2e2fe72cd80bf39a991c16.zip
amélioration du code encore (et fonction debug pour aider au debug)
-rw-r--r--app.py2
-rw-r--r--configuration.py5
-rw-r--r--gestion_erreurs.py10
-rw-r--r--trace_courbe.py32
4 files changed, 29 insertions, 20 deletions
diff --git a/app.py b/app.py
index 49a47a3..d6f8507 100644
--- a/app.py
+++ b/app.py
@@ -77,7 +77,7 @@ def courbe_image(ext):
77 "nomenfant": nomenfant}) 77 "nomenfant": nomenfant})
78 else: 78 else:
79 reponse = flask.jsonify({ "result":result, 79 reponse = flask.jsonify({ "result":result,
80 "messages": liste_err[1]+liste_err[0], 80 "messages": liste_err[2]+liste_err[1]+liste_err[0],
81 "image": "", 81 "image": "",
82 "export_txt": texte, 82 "export_txt": texte,
83 "nomenfant": nomenfant}) 83 "nomenfant": nomenfant})
diff --git a/configuration.py b/configuration.py
index 72e47a9..07cbf0e 100644
--- a/configuration.py
+++ b/configuration.py
@@ -40,10 +40,9 @@ CONFIG["jours_dans_semaine"] = 7
40 40
41## Maxi et mini de "sécurité" 41## Maxi et mini de "sécurité"
42# jours maxi et mini 42# jours maxi et mini
43CONFIG["jours_maxi_courbe"] = 5.5*CONFIG["jours_dans_annee"] 43CONFIG["jours_maxi_courbe"] = round(5.5*CONFIG["jours_dans_annee"])
44CONFIG["jours_mini_courbe"] = 10 44CONFIG["jours_mini_courbe"] = 10
45CONFIG["jours_defaut_donneesvides"]= 6*CONFIG["jours_dans_mois"] # si données vides, 6 mois 45CONFIG["jours_defaut_donneesvides"]= round(6*CONFIG["jours_dans_mois"]) # si données vides, 6 mois
46jours_defaut_donneesvides = 6*CONFIG["jours_dans_mois"]
47# poids max (protection) 46# poids max (protection)
48poids_maxi = 80 47poids_maxi = 80
49# taille max du nom 48# taille max du nom
diff --git a/gestion_erreurs.py b/gestion_erreurs.py
index b47b618..4c9d602 100644
--- a/gestion_erreurs.py
+++ b/gestion_erreurs.py
@@ -8,24 +8,24 @@ niveau_debug = True
8 8
9 9
10def initialise_erreurs(): 10def initialise_erreurs():
11 """ retourne deux listes vides, erreurs fatales (0) et warnings(1):""" 11 """ retourne deux trois vides, erreurs fatales (0), warnings(1), debug:"""
12 return ([],[]) 12 return ([],[],[])
13 13
14 14
15def erreur(message,listeerreurs): 15def erreur(message,listeerreurs):
16 """ en cas d'erreur où on ne peut pas continuer 16 """ en cas d'erreur où on ne peut pas continuer
17 message est une chaîne""" 17 message est une chaîne"""
18 print("** Erreur fatale : "+message) 18 print("** Erreur fatale : "+message)
19 listeerreurs[0].append(message) 19 listeerreurs[0].append("** Erreur : "+message)
20 20
21 21
22def warning(message,listeerreurs): 22def warning(message,listeerreurs):
23 """ En cas d'avertissement mais on peut quand même continuer """ 23 """ En cas d'avertissement mais on peut quand même continuer """
24 print("** Warning : "+message) 24 print("** Warning : "+message)
25 listeerreurs[1].append(message) 25 listeerreurs[1].append("Alerte : "+message)
26 26
27def debug(message,liste_erreurs): 27def debug(message,liste_erreurs):
28 if niveau_debug: 28 if niveau_debug:
29 print("##Debug : "+message) 29 print("##Debug : "+message)
30 liste_erreurs[1].append("# Debug : "+message) 30 liste_erreurs[2].append("# Debug : "+message)
31 31
diff --git a/trace_courbe.py b/trace_courbe.py
index ae48c41..8fecd56 100644
--- a/trace_courbe.py
+++ b/trace_courbe.py
@@ -7,6 +7,7 @@ from gestion_unites import *
7import matplotlib.pyplot as plt 7import matplotlib.pyplot as plt
8 8
9def cree_figure(conf,l_jours,l_poids,liste_err): 9def cree_figure(conf,l_jours,l_poids,liste_err):
10 debug("debut de cree_figure",liste_err)
10 try: 11 try:
11 liste_data_labels_p,liste_data_labels_z = renvoie_liste_labels(conf,liste_data_choisie_p,liste_data_choisie_z,liste_err) 12 liste_data_labels_p,liste_data_labels_z = renvoie_liste_labels(conf,liste_data_choisie_p,liste_data_choisie_z,liste_err)
12 except: 13 except:
@@ -21,9 +22,11 @@ def cree_figure(conf,l_jours,l_poids,liste_err):
21 jour_maxi = CONFIG["jours_defaut_donneesvides"] # si pas de données, arbitrairement on met ça 22 jour_maxi = CONFIG["jours_defaut_donneesvides"] # si pas de données, arbitrairement on met ça
22 else: 23 else:
23 jour_maxi = conf["maxi"]+1 24 jour_maxi = conf["maxi"]+1
24 25
26
25 # On s'assure que c'est bien compris dans les bornes 27 # On s'assure que c'est bien compris dans les bornes
26 jour_maxi = max(CONFIG["jours_mini_courbe"],min(jour_maxi,CONFIG["jours_maxi_courbe"])) 28 jour_maxi = max(CONFIG["jours_mini_courbe"],min(jour_maxi,CONFIG["jours_maxi_courbe"]))
29 debug("cree_figure : gestion du jour max ok : "+str(jour_maxi),liste_err)
27 30
28 if conf["unite"] == "": 31 if conf["unite"] == "":
29 conf["unite"] = choix_unite(jour_maxi) 32 conf["unite"] = choix_unite(jour_maxi)
@@ -32,10 +35,10 @@ def cree_figure(conf,l_jours,l_poids,liste_err):
32 # Attention, comme les jours commencent à partir de 0, faut enlever 1 pour avoir la borne... 35 # Attention, comme les jours commencent à partir de 0, faut enlever 1 pour avoir la borne...
33 age_maxi = convertitunite(jour_maxi-1,conf["unite"],liste_err) 36 age_maxi = convertitunite(jour_maxi-1,conf["unite"],liste_err)
34 37
38 debug("cree_figure : conversion des unités ok",liste_err)
35 39
36 titre = "Courbe de poids OMS" 40 titre = "Courbe de poids OMS"
37 41
38
39 if conf["typecourbe"] == "P": 42 if conf["typecourbe"] == "P":
40 # percentiles 43 # percentiles
41 liste_data_labels = liste_data_labels_p 44 liste_data_labels = liste_data_labels_p
@@ -60,12 +63,11 @@ def cree_figure(conf,l_jours,l_poids,liste_err):
60 fichier_oms = f_poids_z_mixte 63 fichier_oms = f_poids_z_mixte
61 titre += " (moyenne et écarts-types)" 64 titre += " (moyenne et écarts-types)"
62 else: 65 else:
63 warning("Type de courbe invalide"+conf["typecourbe"],liste_err) 66 erreur("Type de courbe invalide"+conf["typecourbe"],liste_err)
64 67 return ""
65# warning("cree_figure : ça va jusque là ",liste_err)
66# warning("bli"+str(conf),liste_err)
67 68
68 69 debug("cree_figure : géré le type de courbe ok",liste_err)
70
69 # Si y'a un nom on met "courbe de machin" 71 # Si y'a un nom on met "courbe de machin"
70 if conf["nom"] !="": 72 if conf["nom"] !="":
71 titre += " de " +conf["nom"] 73 titre += " de " +conf["nom"]
@@ -78,9 +80,16 @@ def cree_figure(conf,l_jours,l_poids,liste_err):
78 t = lire_fichier_csv(fichier_oms) 80 t = lire_fichier_csv(fichier_oms)
79 except: 81 except:
80 liste_err[0].append("Impossible d'ouvrir le fichier "+fichier_oms) 82 liste_err[0].append("Impossible d'ouvrir le fichier "+fichier_oms)
81 coljour = convertit_tableau(extraire_colonne(t,0,jour_maxi),conf["unite"],liste_err) 83 return ""
82 84
83 85 debug("cree_figure : on va convertir données OMS à la bonne unité",liste_err)
86 try:
87 coljour = convertit_tableau(extraire_colonne(t,0,jour_maxi),conf["unite"],liste_err)
88 except:
89 erreur("Problème à la conversion du tableau OMS. jour_maxi = "+str(jour_maxi)+" unite = "+unite,liste_err)
90 return ""
91
92 debug("cree_figure : prête à créer la figure",liste_err)
84 #### La figure 93 #### La figure
85 fig = plt.figure(num=None, figsize=(conf["largeur"], conf["hauteur"]), dpi=100, facecolor=conf["couleurs"]["fond"]) 94 fig = plt.figure(num=None, figsize=(conf["largeur"], conf["hauteur"]), dpi=100, facecolor=conf["couleurs"]["fond"])
86 plt.rcParams['axes.facecolor'] = conf["couleurs"]["fond"] 95 plt.rcParams['axes.facecolor'] = conf["couleurs"]["fond"]
@@ -95,7 +104,7 @@ def cree_figure(conf,l_jours,l_poids,liste_err):
95 plt.plot(coljour,extraire_colonne(t,i,jour_maxi),label=label,color=couleur) 104 plt.plot(coljour,extraire_colonne(t,i,jour_maxi),label=label,color=couleur)
96 #warning("colonne"+str(i)+str(label)+str(couleur),liste_err) 105 #warning("colonne"+str(i)+str(label)+str(couleur),liste_err)
97 106
98 107 debug("cree_figure : tracé des courbes OMS ok",liste_err)
99 108
100 # On extrait la valeur min et la valeur max des poids 109 # On extrait la valeur min et la valeur max des poids
101 (colonne_min,_,_) = liste_data_labels[-1] 110 (colonne_min,_,_) = liste_data_labels[-1]
@@ -113,9 +122,10 @@ def cree_figure(conf,l_jours,l_poids,liste_err):
113 poids_max = poids_max * 1.05 122 poids_max = poids_max * 1.05
114 123
115 #warning("Jusque là ça marche",liste_err) 124 #warning("Jusque là ça marche",liste_err)
125 debug("cree_figure : prête à tracer la courbe de l'enfant",liste_err)
116 126
117 if l_jours != []: 127 if l_jours != []:
118 plt.plot(l_jours_conv,l_poids,label=conf["nom"],color=conf["couleur_cadretxt"],marker='o') 128 plt.plot(l_jours_conv,l_poids,label=conf["nom"],color=conf["couleurs"]["cadretxt"],marker='o')
119 129
120 plt.xlabel("Âge en "+conf["unite"],color=conf["couleurs"]["cadretxt"]) 130 plt.xlabel("Âge en "+conf["unite"],color=conf["couleurs"]["cadretxt"])
121 plt.ylabel("Poids en kg",color=conf["couleurs"]["cadretxt"]) 131 plt.ylabel("Poids en kg",color=conf["couleurs"]["cadretxt"])