diff options
Diffstat (limited to 'gestion_donnees.py')
-rw-r--r-- | gestion_donnees.py | 56 |
1 files changed, 30 insertions, 26 deletions
diff --git a/gestion_donnees.py b/gestion_donnees.py index 2068bb3..d214bcd 100644 --- a/gestion_donnees.py +++ b/gestion_donnees.py | |||
@@ -1,7 +1,7 @@ | |||
1 | #!/usr/bin/env python3 | 1 | #!/usr/bin/env python3 |
2 | # -*- coding: utf-8 -*- | 2 | # -*- coding: utf-8 -*- |
3 | 3 | ||
4 | from configuration import * | 4 | from configuration import CONFIG,DEFAUT |
5 | from gestion_erreurs import * | 5 | from gestion_erreurs import * |
6 | from gestion_couleurs import * | 6 | from gestion_couleurs import * |
7 | import datetime | 7 | import datetime |
@@ -28,15 +28,15 @@ def convertit_jours_vers_python(chaine,liste_err): | |||
28 | else: | 28 | else: |
29 | if lettre == 'a' or lettre == 'A': | 29 | if lettre == 'a' or lettre == 'A': |
30 | # On a trouvé l'année, on ajoute tout ce qui est trouvé jusque là | 30 | # On a trouvé l'année, on ajoute tout ce qui est trouvé jusque là |
31 | agejours += int(chainenombre)*jours_dans_annee | 31 | agejours += int(chainenombre)*CONFIG["jours_dans_annee"] |
32 | chainenombre = "" | 32 | chainenombre = "" |
33 | elif lettre == 'm' or lettre == 'M': | 33 | elif lettre == 'm' or lettre == 'M': |
34 | # On a trouvé le mois | 34 | # On a trouvé le mois |
35 | agejours += int(chainenombre)*jours_dans_mois | 35 | agejours += int(chainenombre)*CONFIG["jours_dans_mois"] |
36 | chainenombre = "" | 36 | chainenombre = "" |
37 | elif lettre == 's' or lettre == 'S': | 37 | elif lettre == 's' or lettre == 'S': |
38 | # la semaine | 38 | # la semaine |
39 | agejours += int(chainenombre)*jours_dans_semaine | 39 | agejours += int(chainenombre)*CONFIG["jours_dans_semaine"] |
40 | chainenombre = "" | 40 | chainenombre = "" |
41 | elif lettre == 'j' or lettre == 'J': | 41 | elif lettre == 'j' or lettre == 'J': |
42 | # On a trouvé le jour | 42 | # On a trouvé le jour |
@@ -56,10 +56,10 @@ def convertit_jours_vers_python(chaine,liste_err): | |||
56 | def convertit_age_vers_texte(nombre): | 56 | def convertit_age_vers_texte(nombre): |
57 | """ convertit un nombre de jours en un truc plus lisible en mois, années, jours | 57 | """ convertit un nombre de jours en un truc plus lisible en mois, années, jours |
58 | et renvoie une chaîne sous la forme 3a2m1j par exemple""" | 58 | et renvoie une chaîne sous la forme 3a2m1j par exemple""" |
59 | annees = int(nombre / jours_dans_annee) | 59 | annees = int(nombre / CONFIG["jours_dans_annee"]) |
60 | restant = nombre - annees*jours_dans_annee | 60 | restant = nombre - annees*CONFIG["jours_dans_annee"] |
61 | mois = int(restant/jours_dans_mois) | 61 | mois = int(restant/CONFIG["jours_dans_mois"]) |
62 | jours= round(nombre - mois*jours_dans_mois - annees*jours_dans_annee) | 62 | jours= round(nombre - mois*CONFIG["jours_dans_mois"] - annees*CONFIG["jours_dans_annee"]) |
63 | 63 | ||
64 | chaine = "" | 64 | chaine = "" |
65 | if annees >0: | 65 | if annees >0: |
@@ -95,7 +95,7 @@ def convertit_poids_vers_python(chaine,liste_err): | |||
95 | except: | 95 | except: |
96 | warning("Poids impossible à lire : "+chaine,liste_err) | 96 | warning("Poids impossible à lire : "+chaine,liste_err) |
97 | poids = 0 | 97 | poids = 0 |
98 | if not( 0<=poids<poids_maxi): | 98 | if not( 0<=poids<CONFIG["poids_maxi"]): |
99 | warning("Poids incohérent : "+str(poids),liste_err) | 99 | warning("Poids incohérent : "+str(poids),liste_err) |
100 | poids = 0 | 100 | poids = 0 |
101 | return poids | 101 | return poids |
@@ -153,7 +153,7 @@ def gere_configuration(data,liste_err): | |||
153 | # Pour le nom, osef qu'il soit vide | 153 | # Pour le nom, osef qu'il soit vide |
154 | nom = data.get("nom","") | 154 | nom = data.get("nom","") |
155 | # Par contre s'il est trop long on le tronque | 155 | # Par contre s'il est trop long on le tronque |
156 | configuration["nom"] = nom[:longueur_max_nom_bebe] | 156 | configuration["nom"] = nom[:CONFIG["longueur_max_nom_bebe"]] |
157 | 157 | ||
158 | sexe = data.get("sexe","") | 158 | sexe = data.get("sexe","") |
159 | if not (sexe in ["F","M","N"]): | 159 | if not (sexe in ["F","M","N"]): |
@@ -204,12 +204,12 @@ def gere_configuration(data,liste_err): | |||
204 | except: | 204 | except: |
205 | warning("La largeur "+largeur+"est invalide !",liste_err) | 205 | warning("La largeur "+largeur+"est invalide !",liste_err) |
206 | largeur = DEFAUT["largeur_graphique"] | 206 | largeur = DEFAUT["largeur_graphique"] |
207 | if largeur > largeur_graphique_max: | 207 | if largeur > CONFIG["largeur_graphique_max"]: |
208 | largeur = largeur_graphique_max | 208 | largeur = CONFIG["largeur_graphique_max"] |
209 | warning("Largeur trop grande !",liste_err) | 209 | warning("Largeur du graphique trop grande !",liste_err) |
210 | elif largeur < largeur_graphique_min: | 210 | elif largeur < CONFIG["largeur_graphique_min"]: |
211 | largeur = largeur_graphique_min | 211 | largeur = CONFIG["largeur_graphique_min"] |
212 | warning("Largeur trop petite !",liste_err) | 212 | warning("Largeur du graphique trop petite !",liste_err) |
213 | configuration["largeur"] = largeur | 213 | configuration["largeur"] = largeur |
214 | 214 | ||
215 | hauteur = data.get("hauteur","") | 215 | hauteur = data.get("hauteur","") |
@@ -221,12 +221,12 @@ def gere_configuration(data,liste_err): | |||
221 | except: | 221 | except: |
222 | warning("La hauteur "+hauteur+"est invalide !",liste_err) | 222 | warning("La hauteur "+hauteur+"est invalide !",liste_err) |
223 | hauteur = DEFAUT["hauteur_graphique"] | 223 | hauteur = DEFAUT["hauteur_graphique"] |
224 | if hauteur > hauteur_graphique_max: | 224 | if hauteur > CONFIG["hauteur_graphique_max"]: |
225 | hauteur = hauteur_graphique_max | 225 | hauteur = CONFIG["hauteur_graphique_max"] |
226 | warning("Hauteur trop grande !",liste_err) | 226 | warning("Hauteur du graphique trop grande !",liste_err) |
227 | elif hauteur < hauteur_graphique_min: | 227 | elif hauteur < CONFIG["hauteur_graphique_min"]: |
228 | hauteur = hauteur_graphique_min | 228 | hauteur = CONFIG["hauteur_graphique_min"] |
229 | warning("Hauteur trop petite !",liste_err) | 229 | warning("Hauteur du graphique trop petite !",liste_err) |
230 | configuration["hauteur"] = hauteur | 230 | configuration["hauteur"] = hauteur |
231 | 231 | ||
232 | # existence et position de la légende | 232 | # existence et position de la légende |
@@ -316,10 +316,14 @@ def donnees_vers_json(l_jours,l_poids,config): | |||
316 | return json.dumps(gros_dico, indent=2,ensure_ascii=False ) | 316 | return json.dumps(gros_dico, indent=2,ensure_ascii=False ) |
317 | 317 | ||
318 | 318 | ||
319 | def fichier_json_vers_configdonnees(fichier,liste_err): | 319 | def fichier_json_vers_configdonnees(chaine,liste_err): |
320 | """ prend le json importé et l'exporte vers les valeurs du formulaire """ | 320 | """ prend le json importé (chaine) et l'exporte vers les valeurs du formulaire """ |
321 | chaine = fichier.read() | 321 | debug("json vers config : Prêt à interpréter le json",liste_err) |
322 | valform = json.loads(chaine) | 322 | try: |
323 | valform = json.loads(chaine) | ||
324 | except : | ||
325 | erreur("Impossible de lire le fichier json !",liste_err) | ||
326 | return {} | ||
323 | # Il faut maintenant récupérer les l_jours et l_poids puis les remettre | 327 | # Il faut maintenant récupérer les l_jours et l_poids puis les remettre |
324 | # sous forme de age_i et poids_i | 328 | # sous forme de age_i et poids_i |
325 | l_jours= valform.get("data_j",[]) | 329 | l_jours= valform.get("data_j",[]) |