]> git.immae.eu Git - perso/Denise/oms.git/blobdiff - gestion_donnees.py
Amélioration de l'interface des courbes multiples + un peu de FAQ
[perso/Denise/oms.git] / gestion_donnees.py
index 372d6aa4b8dcdce9e9aa48b70868b0f200c4ab71..8e19d8b805aec12268303f825e5a291ebae78b7c 100644 (file)
@@ -130,8 +130,12 @@ def convertit_donnee_vers_python(chaine,typedonnee,liste_err):
 def convertit_date_vers_python(chaine,liste_err):
     """ prend une chaine comme renvoyée par un champ de formulaire date
     aaaa-mm-jj et en fait une date python
-    renvoie "" si ne marche pas"""
-    liste = chaine.split("-")
+    renvoie "" si ne marche pas.
+    Si jamais la date est au format avec des / ça devrait passer aussi."""
+    if "/" in chaine:
+        liste = chaine.split("/")
+    else:
+        liste = chaine.split("-")
     if len(liste) != 3:
         warning("La date : "+chaine+" est invalide !",liste_err)
         return ""
@@ -169,7 +173,7 @@ def delta_date(date1,datenaissance):
     
 def web_vers_python(data,liste_err, court=False):
     """ prend en argument le dictionnaire de requête et renvoie la config, et les
-    tableaux de donnée
+    tableaux de données
     court : si True est précisé, on ne met que le nom dans la config (enfant
     additionnel)"""
     
@@ -364,6 +368,19 @@ def gere_configuration(data,liste_err, court=False):
         configuration["non_sauve"]["calculextratemps_trace"] = gere_checkbox(data.get("calculextratemps_trace"))
 
     
+        ### Gestion des repères additionnels
+        configuration["liste_reperes"] = []
+        i=0
+        while "repere_texte_"+str(i) in data: # Tant qu'il y a des trucs définis
+            debug("Repère trouvé", liste_err)
+            age=data.get("repere_age_"+str(i), "")
+            trace=gere_checkbox(data.get("repere_trace_"+str(i), ""))
+            if age !="":
+                agec=convertit_jours_vers_python(age, liste_err)
+                texte = data.get("repere_texte_"+str(i), "") # Même si le texte est vide, osef
+                configuration["liste_reperes"].append({"typed": "age", "donnee": agec, "texte": texte, "trace": trace})
+            i+=1
+    
     return configuration   
  
     
@@ -384,8 +401,8 @@ def gere_donnees(data,naissance,typedonnee,liste_err):
 
     i = 0
     # On va chercher si y'a des données à donnee_i
-    while typedonnee+"_"+str(i) in data.keys():
-        if data[typedonnee+"_"+str(i)] != "":
+    while "age_"+str(i) in data.keys():
+        if data.get(typedonnee+"_"+str(i), "") != "": # si la donne de ce type existe
             donnee = convertit_donnee_vers_python(data[typedonnee+"_"+str(i)],typedonnee,liste_err)
             age = data.get("age_"+str(i),"")
             if age !="":
@@ -437,6 +454,9 @@ def donnees_vers_json(l_jours,l_poids,l_jourst,l_taille,config):
         
     # gérer l'age maxi
     gros_dico["maxi"] = convertit_age_vers_texte(gros_dico["maxi"])
+    # Gérer les repères
+    for i in range(len(gros_dico["liste_reperes"])):
+        gros_dico["liste_reperes"][i]["donnee"] = convertit_age_vers_texte(gros_dico["liste_reperes"][i]["donnee"])
     # gérer les couleurs
     for clecouleur in DEFAUT["couleurs"]:
         gros_dico["couleurs"][clecouleur] = tuple_vers_rgb(gros_dico["couleurs"][clecouleur])
@@ -541,6 +561,7 @@ def eclate_donnees_additionnelles(conf, ljours, ldonnees, symb, couleur):
     symb est le symbole choisi pour cette courbe additionnelle (déjà vérifié)
     On fabrique un joli dictionnaire typed -> (conf lj, ldonnee) avec le nom de l'enfant,
     et les données pour chaque typed"""
+    print("test conf avant "+str(ldonnees)+str(ljours))
     
     retour = {}
     conf["symbole"] = symb # On ajoute le symbole additionnel
@@ -548,4 +569,5 @@ def eclate_donnees_additionnelles(conf, ljours, ldonnees, symb, couleur):
     for typed in CONFIG["liste_typedonnees"]:
         retour[typed] = (conf, ljours[typed], ldonnees[typed])
         
+    print("test "+str(retour))
     return retour
\ No newline at end of file