annees = int(nombre / CONFIG["jours_dans_annee"])
restant = nombre - annees*CONFIG["jours_dans_annee"]
mois = int(restant/CONFIG["jours_dans_mois"])
+ #print("mois : ",mois, ", restant : ",nombre - mois*CONFIG["jours_dans_mois"])
jours= round(nombre - mois*CONFIG["jours_dans_mois"] - annees*CONFIG["jours_dans_annee"])
chaine = ""
def delta_date(date1,datenaissance, liste_err):
""" renvoie le nombre de jours (entier) entre date1 et datenaissance format "datetime"
datenaissance est supposée antérieure. Erreur sinon."""
+ if type(date1) != datetime.date or type(datenaissance) != datetime.date:
+ return -1
d = date1 - datenaissance
jours = d.days
if jours<0:
nbextradata = 1
configuration["non_sauve"]["nbextradata"] = nbextradata
- if data.get("calculextradata_type","") in CONFIG["liste_typedonnees"]:
+ 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","")
- configuration["non_sauve"]["calculextradata_age"] = convertit_jours_vers_python(data.get("calculextradata_age","0j"),liste_err)
+ age = convertit_jours_vers_python(data.get("calculextradata_age","0j"),liste_err)
+ date = convertit_date_vers_python(data.get("calculextradata_date", ""), [[],[]])
+ 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 l'âge, pas la peine
+ # On ne met rien dans les autres données, pas la peine
ctyped = data.get("calculextratemps_type","")
if ctyped in CONFIG["liste_typedonnees"]:
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), ""))
- if age !="":
- agec=convertit_jours_vers_python(age, liste_err)
+ 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": agec, "texte": texte, "trace": trace})
+ configuration["liste_reperes"].append({"typed": "age", "donnee": nbjours, "date": date, "texte": texte, "trace": trace, "affichedate":affichedate})
i+=1
return configuration
if gros_dico.get("naissance","") != "":
gros_dico["naissance"] = convertit_date_vers_texte(gros_dico["naissance"])
# Calcul de toutes les dates de données
- l_dates_poids = [convertit_date_vers_texte( config["naissance"] + datetime.timedelta(days=jours) ) for jours in l_jours]
- l_dates_taille = [convertit_date_vers_texte( config["naissance"] + datetime.timedelta(days=jours) ) for jours in l_jourst]
+ l_dates_poids = [convertit_date_vers_texte( config["naissance"] + datetime.timedelta(days=round(jours)) ) for jours in l_jours]
+ l_dates_taille = [convertit_date_vers_texte( config["naissance"] + datetime.timedelta(days=round(jours)) ) for jours in l_jourst]
gros_dico["data_dates_poids"]= l_dates_poids
gros_dico["data_dates_taille"] = l_dates_taille