From: Denise sur Lya Date: Mon, 22 Jun 2020 15:19:56 +0000 (+0200) Subject: Gros nettoyage du code + quelques typos FAQ X-Git-Url: https://git.immae.eu/?p=perso%2FDenise%2Foms.git;a=commitdiff_plain;h=d03279e72fcb75ddf784fbd0dcce2b2b15f5ff09 Gros nettoyage du code + quelques typos FAQ --- diff --git a/app.py b/app.py index d6f8507..5e62e10 100644 --- a/app.py +++ b/app.py @@ -7,7 +7,7 @@ import matplotlib.pyplot as plt import base64 from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas -from configuration import * +from configuration import config_init from gestion_erreurs import * from gestion_donnees import * from gestion_unites import * @@ -15,8 +15,6 @@ from trace_courbe import * from faq import * - - app = flask.Flask(__name__) @app.route('/',methods=['POST','GET']) @@ -27,8 +25,10 @@ def index(): if 'fichier_donnees' in flask.request.files: ## charger les donneés dans le formulaire fichier = flask.request.files['fichier_donnees'] - - val_form2 = fichier_json_vers_configdonnees(fichier,liste_err) + chaine = fichier.read() + val_form2 = fichier_json_vers_configdonnees(chaine,liste_err) + if val_form2 == {}: + return flask.render_template("index.html",err=liste_err[2]+liste_err[1]+liste_err[0],valform=val_form) val_form.update(val_form2) #return str(val_form['nb_data']) return flask.render_template("index.html",err=liste_err[1],valform=val_form) @@ -110,6 +110,6 @@ def changelog(): return flask.render_template("changelog.html",table = table_version,err=[]) - if __name__ == "__main__": + print("Mode debug maison : "+str(niveau_debug)) app.run(host='0.0.0.0',debug=True) \ No newline at end of file diff --git a/configuration.py b/configuration.py index 07cbf0e..70b020d 100644 --- a/configuration.py +++ b/configuration.py @@ -2,37 +2,39 @@ # -*- coding: utf-8 -*- ### Toutes les "constantes" de config importés pour ce qui concerne les courbes +CONFIG = {} # fichiers -chemin_oms = "data_OMS/" +CONFIG["chemin_oms"] = "data_OMS/" + +CONFIG["fichiersOMS"] = { + "perc_garcon": "wfa_boys_p_exp.txt", + "perc_fille": "wfa_girls_p_exp.txt", + "z_garcon": "wfa_boys_z_exp.txt", + "z_fille": "wfa_girls_z_exp.txt", + "perc_mixte": "wfa_mix_p_exp.txt", + "z_mixte": "wfa_mix_z_exp.txt" + } -f_poids_perc_garcon = chemin_oms+"wfa_boys_p_exp.txt" -f_poids_perc_fille = chemin_oms+"wfa_girls_p_exp.txt" -f_poids_z_garcon = chemin_oms+"wfa_boys_z_exp.txt" -f_poids_z_fille = chemin_oms+"wfa_girls_z_exp.txt" -f_poids_z_mixte = chemin_oms+"wfa_mix_z_exp.txt" -f_poids_perc_mixte = chemin_oms+"wfa_mix_p_exp.txt" +# ajouter le chemin +for (cle,val) in CONFIG["fichiersOMS"].items(): + CONFIG["fichiersOMS"][cle] = CONFIG["chemin_oms"]+val # Pour les courbes percentiles -liste_data_choisie_p = [(5,1),(7,5),(8,10),(10,25),(11,50),(12,75), (14,90), +CONFIG["liste_data_choisie_p"] = [(5,1),(7,5),(8,10),(10,25),(11,50),(12,75), (14,90), (15,95),(17,99)] -liste_data_choisie_p.sort(reverse=True) +CONFIG["liste_data_choisie_p"].sort(reverse = True) # pour le sigma : (colonne,sigma) -liste_data_choisie_z = [(2,-3),(3,-2),(4,-1),(5,0),(6,1),(7,2),(8,3)] -liste_data_choisie_z.sort(reverse=True) +CONFIG["liste_data_choisie_z"] = [(2,-3),(3,-2),(4,-1),(5,0),(6,1),(7,2),(8,3)] +CONFIG["liste_data_choisie_z"].sort(reverse=True) # config, côté python -CONFIG = {} - # les unités acceptées CONFIG["liste_unites"] = ["jours", "semaines", "mois", "années"] -# nombre de jours dans autre chose -jours_dans_mois = 30.4375 -jours_dans_annee = 365.25 -jours_dans_semaine = 7 +# nombre de jours dans les autres unités CONFIG["jours_dans_mois"] = 30.4375 CONFIG["jours_dans_annee"] = 365.25 CONFIG["jours_dans_semaine"] = 7 @@ -44,16 +46,17 @@ CONFIG["jours_maxi_courbe"] = round(5.5*CONFIG["jours_dans_annee"]) CONFIG["jours_mini_courbe"] = 10 CONFIG["jours_defaut_donneesvides"]= round(6*CONFIG["jours_dans_mois"]) # si données vides, 6 mois # poids max (protection) -poids_maxi = 80 +CONFIG["poids_maxi"] = 80 # taille max du nom -longueur_max_nom_bebe = 100 +CONFIG["longueur_max_nom_bebe"] = 100 #largeurs et hauteurs min et max -largeur_graphique_max = 40 -largeur_graphique_min = 3 -hauteur_graphique_max = 40 -hauteur_graphique_min = 2 +CONFIG["largeur_graphique_max"] = 30 +CONFIG["largeur_graphique_min"] = 3 + +CONFIG["hauteur_graphique_max"] = 30 +CONFIG["hauteur_graphique_min"] = 2 CONFIG["couleurs"] = { "courbe1" : (0,0,1), @@ -83,40 +86,15 @@ DEFAUT["couleurs"]["courbe3"] = "#FF0000" # rouge DEFAUT["couleurs"]["fond"]= "#FFFFFF" # blanc DEFAUT["couleurs"]["cadretxt"] = "#000000" # noir DEFAUT["couleurs"]["grille"] = "#7f7f7f" # gris -#couleur_defaut_1 = "#0000FF" # bleu -#couleur_defaut_2 = "#00FF00" # vert -#couleur_defaut_3 = "#FF0000" # rouge - -#couleur_defaut_1_tuple = (0,0,1) -#couleur_defaut_2_tuple = (0,1,0) -#couleur_defaut_3_tuple = (1,0,0) - -# couleurs par défaut fond -#couleur_defaut_fond = "#FFFFFF" -#couleur_defaut_fond_tuple = (1,1,1) -#couleur_defaut_cadretxt = "#000000" -#couleur_defaut_cadretxt_tuple = (0,0,0) -#couleur_defaut_grille = "#7f7f7f" -#couleur_defaut_grille_tuple = (0.5,0.5,0.5) -#couleur_defaut_erreur = (0,0,0) # noir +# Remplissage du formulaire, autres +DEFAUT["age_0"]= "0j" +DEFAUT["legende"] = "oui" +DEFAUT["positionlegende"] = "hg" # initialiser la config def config_init(): - c = DEFAUT.copy() - c.update({ - "age_0": "0j", - "legende": "oui", - "positionlegende": "hg", -# "couleur1": couleur_defaut_1, -# "couleur2": couleur_defaut_2, -# "couleur3": couleur_defaut_3, -# "couleur_fond": couleur_defaut_fond, -# "couleur_grille": couleur_defaut_grille, -# "couleur_cadretxt": couleur_defaut_cadretxt - }) - - return c + return DEFAUT.copy() diff --git a/data/FAQ_data.txt b/data/FAQ_data.txt index 2313fa8..a81de6a 100644 --- a/data/FAQ_data.txt +++ b/data/FAQ_data.txt @@ -2,12 +2,12 @@ "Utilisation","Comment sauvegarder mes données pour une prochaine fois ?","L'outil ne propose pas de sauvegarde en ligne, car il ne garde aucune donnée personnelle. Vous pouvez télécharger vos propres données (dans un format adapté) en cliquant sur « Télécharger les données Â». Enregistrez ce fichier quelque part. Pour les réutiliser, utilisez la partie ""Importer le fichier de données"" puis ""Charger les données"" : les champs seront alors pré-remplis et vous pourrez les modifier ou ajouter des données (par exemple une pesée récente)." -"Utilisation","Je ne comprends pas comment saisir les données âge/poids !","Pour chaque pesée, vous avez le choix entre donner son âge, ou donner la date de la pesée. Pour la date de la pesée, il faut que vous ayiez rempli la date de naissance (sinon l'outil ne peut pas calculer l'âge !). Pour l'âge, vous pouvez indiquer en années, mois, semaines, jours, et mélanger plusieurs unités. Par exemple 2m3j pour « 2 mois 3 jours Â». Ne remplissez qu'un des deux champs : âge ou date. Puis saisissez le poids en kilogrammes dans la colonne de droite.
+"Utilisation","Je ne comprends pas comment saisir les données âge/poids !","Pour chaque pesée, vous avez le choix entre donner son âge, ou donner la date de la pesée. Pour la date de la pesée, il faut que vous ayez rempli la date de naissance (sinon l'outil ne peut pas calculer l'âge !). Pour l'âge, vous pouvez indiquer en années, mois, semaines, jours, et mélanger plusieurs unités. Par exemple 2m3j pour « 2 mois 3 jours Â». Ne remplissez qu'un des deux champs : âge ou date. Puis saisissez le poids en kilogrammes dans la colonne de droite.
Si vous manquez de lignes, vous pouvez cliquer sur ""Ajouter des lignes"" pour avoir plus de champs de données. Il n'y a pas de problème à laisser des champs vides, ils seront simplement ignorés." "Utilisation","Une erreur s'affiche en bas de ma courbe, je ne comprends pas.","Si le message d'erreur n'est pas clair pour vous, c'est qu'il est probablement dû à un souci interne. Si vous le pouvez, contactez l'administratrice, en citant le message d'erreur et en donnant les données qui ont amené à cette erreur (fichier de données, ou données saisies). Merci d'avance ! :)" -"Courbe","À quoi sert ce site ?","Il sert à tracer la courbe de poids des bébés et jeunes enfants en fonction de leur âge, comme sur le carnet de santé, et la compare aux courbes de références de l'Organisation Mondiale de la Santé." +"Courbe","À quoi sert ce site ?","Il sert à tracer la courbe de poids des bébés et jeunes enfants en fonction de leur âge, comme sur le carnet de santé, et la compare aux courbes de références de l'Organisation Mondiale de la Santé. Ces courbes sont a priori prévues pour des enfants nés à terme en bonne santé. Pour un enfant prématuré ou à situation particulière, référez vous à un.e professionnel.le de santé." "Courbe","Pourquoi des courbes OMS et pas des courbes françaises ?","Les particularités de ces données sont les suivantes : bébés et enfants choisis dans différents pays du monde (et non dans un seul pays), dans des familles raisonnablement aisées (pour éviter les problèmes liés à la malnutrition), et des bébés allaités. Plus d'infos ici (en anglais). L'idée générale était de donner une « référence Â» de croissance de l'enfant de l'espèce humaine. Cela ne veut pas dire que les courbes du carnet de santé français sont mauvaises (si vous avez celles datant d'avant 2018, elles sont un peu anciennes par contre), de fait, elles sont très peu différentes. Pour les autres pays je ne sais pas, je n'ai pas comparé." @@ -23,8 +23,8 @@ Vous trouverez ici et Pour les curieuses et les curieux : Si la répartition des données est « bonne Â» (on parle de gaussienne entre matheuses et matheux), alors la moyenne correspond à la médiane, la moyenne + 1σ correspond environ au 84e percentile, la moyenne -1σ correspond au 16e percentile. Pour ces données, il semble que ce soit assez proche d'une gaussienne." diff --git a/data/changelog_data.txt b/data/changelog_data.txt index 9dce153..fa9ea5c 100644 --- a/data/changelog_data.txt +++ b/data/changelog_data.txt @@ -1,3 +1,8 @@ +"Version 0.6","21/06/2020","" + "Version 0.5","19/06/2020","