chaine += str(annees)+"a"
if mois >0:
chaine += str(mois)+"m"
- if jours>0 or nombre ==0: # si c'est la naissance, faut beien écrire 0j quand même
+ if jours>0 or nombre ==0: # si c'est la naissance, faut bien écrire 0j quand même
chaine += str(jours)+"j"
return chaine
#return (str(date.year)+"-"+str(date.month)+"-"+str(date.day))
return str(date)
-def delta_date(date1,datenaissance):
+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."""
d = date1 - datenaissance
jours = d.days
if jours<0:
- warning("La différence entre les dates est négative... :/")
+ warning("Une des dates saisies ("+str(date1)+") est inférieure à la date de naissance (la donnée est donc ignorée)", liste_err)
return -1
return jours
sexe = data.get("sexe","")
if not (sexe in ["F","M","N"]):
- warning("Le sexe de l'enfant est invalide ! "+sexe,liste_err)
+ warning("Le sexe de l'enfant est invalide. "+sexe,liste_err)
sexe = "N"
configuration["sexe"] = sexe
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 !="":
- age = convertit_jours_vers_python(age,liste_err)
- liste_donnees.append((age,donnee))
- else:
- date = data.get("date_"+str(i),"")
- datep = convertit_date_vers_python(date,liste_err)
- # on vérifie la date
- if naissance == "":
- warning("La date de naissance n'a pas été précisée. Du coup on ne peut pas calculer l'âge de l'enfant le "+date,liste_err)
- elif datep != "": # la date est valide et on a une date de naissance
- age = delta_date(datep,naissance)
- liste_donnees.append((age,donnee))
+
+ ## Si une date est saisie, on la prend en priorité car c'est des entiers et les entiers c'est BIEN
+ date = data.get("date_"+str(i),"")
+ datep = convertit_date_vers_python(date,liste_err)
+
+ if naissance != "" and datep != "": # On ne peut pas calculer l'âge si on n'a pas ces deux données
+ age = delta_date(datep,naissance, liste_err)
+ if age != -1: # -1 signifie une erreur donc on ne garde pas la donnée
+ liste_donnees.append((age,donnee))
+ else: # Sinon, on regarde si on a saisi l'âge
+ age = data.get("age_"+str(i),"")
+ if age == "":
+ warning("gere_donnees : ni l'âge ni la date ne sont saisies... donnée ignorée", liste_err)
+ else:
+ age = convertit_jours_vers_python(age,liste_err)
+ liste_donnees.append((age,donnee))
i+=1
# Trier la liste