From d4daf461c8317e3f9e89df00d5f65bb59e40911d Mon Sep 17 00:00:00 2001 From: Denise sur Lya Date: Thu, 26 May 2022 22:50:27 +0200 Subject: [PATCH] =?utf8?q?priorit=C3=A9=20des=20dates=20sur=20les=20=C3=A2?= =?utf8?q?ges?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- data/changelog_data.txt | 2 ++ gestion_donnees.py | 30 ++++++++++++++++-------------- templates/index.html | 2 +- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/data/changelog_data.txt b/data/changelog_data.txt index 67eb916..d9987fb 100644 --- a/data/changelog_data.txt +++ b/data/changelog_data.txt @@ -1,3 +1,5 @@ +"Version 2.51","26/25/2022","

Un test à faire : les dates sont prioritaires sur les âges pour éviter les soucis d'arrondis. À tester, et d'autres trucs arrivent.

" + "Version 2.501","14/05/2022","

Petit bug mineur corrigé : si on met une donnée avec une date inférieure à la date de naissance, elle est ignorée et un petit message s'affiche.

" "Version 2.5","29/07/2021","

Plus de courbes ! Et d'autres choses...

diff --git a/gestion_donnees.py b/gestion_donnees.py index 74d0c35..7c15486 100644 --- a/gestion_donnees.py +++ b/gestion_donnees.py @@ -70,7 +70,7 @@ def convertit_age_vers_texte(nombre): 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 @@ -404,20 +404,22 @@ def gere_donnees(data,naissance,typedonnee,liste_err): 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_err) - if age != -1: # -1 signifie une erreur donc on ne garde pas la donnée + + ## 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 diff --git a/templates/index.html b/templates/index.html index bbe3811..066f60e 100644 --- a/templates/index.html +++ b/templates/index.html @@ -64,7 +64,7 @@

Syntaxe pour l'âge : utiliser j, s, m, a comme des "unités" (jours, semaines, mois, années). Vous pouvez mixer les unités, par exemple "3a2m5j" pour 3 ans, 2 mois et 5 jours. Les espaces sont ignorées, et il faut saisir des nombres entiers.

Saisir le poids en kilogrammes (par exemple "2.62" ou "2,62" pour 2 kilogrammes et 620 grammes), ou en grammes ("2620" par exemple).

Saisir la taille en centimètres. Note : il y a généralement un centimètre de moins quand on mesure l'enfant debout par rapport à allongé. On peut voir sur la courbe de référence une "cassure" à deux ans qui correspond au changement du type de mesure.

-

Il faut saisir la date ou l'âge. Si les deux sont saisis, seul l'âge comptera.

+

Il faut saisir la date ou l'âge. La date a priorité sur l'âge (si la date de naissance est saisie).

Si vous ne saisissez que des données de poids par exemple, la courbe de taille ne sera pas tracée (par défaut, voir préférences du graphique).

-- 2.41.0