+ # 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"]: # Si on a choisi un type de données à calculer
+
+ configuration["non_sauve"]["calculextradata_type"] = data.get("calculextradata_type","")
+ age = convertit_jours_vers_python(data.get("calculextradata_age","0j"),liste_err)
+ date = convertit_date_vers_python(data.get("calculextradata_date", ""), liste_err)
+ agecalcule = delta_date(date, configuration["naissance"], liste_err)
+ if configuration["naissance"] != "" and agecalcule != -1: # On garde plutôt la date
+ configuration["non_sauve"]["calculextradata_age"] = agecalcule
+ configuration["non_sauve"]["calculextradata_date"] = date
+ else: # On garde l'âge
+ configuration["non_sauve"]["calculextradata_age"] = age
+ if type(configuration["naissance"]) == datetime.date:
+# print(configuration["naissance"], type(configuration["naissance"]))
+ configuration["non_sauve"]["calculextradata_date"] = configuration["naissance"] + datetime.timedelta(days=round(age))
+ else:
+ configuration["non_sauve"]["calculextradata_date"] = None
+ else:
+ configuration["non_sauve"]["calculextradata_type"] = ""
+ # On ne met rien dans les autres données, 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"))
+
+
+ ### 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)
+ jegardecerepere = False # On va passer à True uniquementsi tout va bien
+
+ age=data.get("repere_age_"+str(i), "")
+ date=data.get("repere_date_"+str(i), "")
+ trace=gere_checkbox(data.get("repere_trace_"+str(i), ""))
+ affichedate=gere_checkbox(data.get("repere_affichedate_"+str(i), ""))
+
+ if date!="" and configuration['naissance'] != "": # Si on a saisi une date (et qu'il y a la date de naissance)
+ datepython = convertit_date_vers_python(date,liste_err)
+ if datepython !="": # Si la conversion s'est bien passée
+ nbjours = delta_date(datepython, configuration['naissance'], liste_err)
+ if nbjours != -1: # Si tout va bien jusque là
+ jegardecerepere=True
+ elif age !="":
+ nbjours=convertit_jours_vers_python(age, liste_err)
+ jegardecerepere=True
+
+ if jegardecerepere:
+ texte = data.get("repere_texte_"+str(i), "") # Même si le texte est vide, osef
+ configuration["liste_reperes"].append({"typed": "age", "donnee": nbjours, "date": date, "texte": texte, "trace": trace, "affichedate":affichedate})
+ i+=1