]> git.immae.eu Git - perso/Denise/oms.git/blobdiff - gestion_donnees.py
Extrapolation améliorée + possibilité de voir le point voulu
[perso/Denise/oms.git] / gestion_donnees.py
index 169f3daa777b7379e8bcbea1e5dbeba10e4b451c..2153a55f814cf0cb6660d71ca4842e475b3a5544 100644 (file)
@@ -110,8 +110,12 @@ def convertit_donnee_vers_python(chaine,typedonnee,liste_err):
     except:
         warning(typedonnee+" impossible à lire : "+chaine,liste_err)
         donnee = 0
+        
+    # Pour le poids, un cas particulier
+    if typedonnee == "poids" and donnee > CONFIG["poids_maxi_conversion"]:
+        donnee = donnee/1000 # conversion en grammes
     if not( 0<=donnee<CONFIG[typedonnee+"_maxi"]):
-        warning(typedonnee+"incohérent(e) : "+str(donnee),liste_err)
+        warning(typedonnee+" incohérent(e) : "+str(donnee),liste_err)
         donnee = 0
     return donnee    
 
@@ -291,11 +295,6 @@ def gere_configuration(data,liste_err):
     if not(positionlegende in ['upper left','upper right','lower left','lower right']):
         positionlegende = "upper left"
     configuration["positionlegende"] = positionlegende
-
-    configuration["prolongercourbes"] = gere_checkbox(data.get("prolongercourbes",""))
-
-    # Ceci n'a pas besoin d'être sauvé
-    configuration["non_sauve"]["grilleamelio"] = gere_checkbox(data.get("grilleamelio",""))
     
     configuration["couleurs"] = {}
     # gérer les couleurs
@@ -303,9 +302,46 @@ def gere_configuration(data,liste_err):
         coul = rgb_vers_tuple(data.get("couleur_"+clecouleur,""),CONFIG["couleurs"][clecouleur],liste_err)
         configuration["couleurs"][clecouleur] = coul
 
+
+    configuration["non_sauve"]["grilleamelio"] = gere_checkbox(data.get("grilleamelio",""))
+
+
+    #### La partie extrapolation n'a pas besoin d'être sauvée
+    configuration["non_sauve"]["prolongercourbes"] = gere_checkbox(data.get("prolongercourbes",""))
+
+    # Valeur par défaut : 1
+    debug(data.get("nbextradata", "aaargh"), liste_err)
+    nbextradata = data.get("nbextradata",1)
+    try:
+        nbextradata = int(nbextradata)
+    except:
+        warning("Le nombre de données sur lequel on extrapole est invalide : "+nbextradata, liste_err)
+        nbextradata = 1
+    configuration["non_sauve"]["nbextradata"] = nbextradata
+    
+    if data.get("calculextradata_type","") in CONFIG["liste_typedonnees"]:
+        configuration["non_sauve"]["calculextradata_type"] = data.get("calculextradata_type","")
+        configuration["non_sauve"]["calculextradata_age"] = convertit_jours_vers_python(data.get("calculextradata_age","0j"),liste_err)
+    else:
+        configuration["non_sauve"]["calculextradata_type"] = ""
+        # On ne met rien dans l'âge, pas la peine
+    
+    ctyped = data.get("calculextratemps_type","")
+    if ctyped in CONFIG["liste_typedonnees"]:
+        configuration["non_sauve"]["calculextratemps_type"] = ctyped
+        configuration["non_sauve"]["calculextratemps_val"] = convertit_donnee_vers_python(data.get("calculextratemps_val",""), ctyped, liste_err)
+    else:
+        configuration["non_sauve"]["calculextratemps_type"] = ""
+    
+    # Tracer les calculs sur la grille
+    configuration["non_sauve"]["calculextradata_trace"] = gere_checkbox(data.get("calculextradata_trace"))
+    configuration["non_sauve"]["calculextratemps_trace"] = gere_checkbox(data.get("calculextratemps_trace"))
+
     
     return configuration   
  
+    
+
 ## web vers python : données
 def gere_donnees(data,naissance,typedonnee,liste_err):
     """ prend en argument le dictionnaire de requête, et la date de