summaryrefslogtreecommitdiff
path: root/gestion_donnees.py
diff options
context:
space:
mode:
Diffstat (limited to 'gestion_donnees.py')
-rw-r--r--gestion_donnees.py56
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
4from configuration import * 4from configuration import CONFIG,DEFAUT
5from gestion_erreurs import * 5from gestion_erreurs import *
6from gestion_couleurs import * 6from gestion_couleurs import *
7import datetime 7import 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):
56def convertit_age_vers_texte(nombre): 56def 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
319def fichier_json_vers_configdonnees(fichier,liste_err): 319def 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",[])