X-Git-Url: https://git.immae.eu/?p=perso%2FDenise%2Foms.git;a=blobdiff_plain;f=configuration.py;h=fc573ba43dd627bc73aa76d46fb065e2fc9949e1;hp=59da9341db9e222e4fb0862bde96cdb3e8273956;hb=38b5e10ae817f79fb10b6c4b8655e6d95b2885b8;hpb=5679dfd03c9761283e3a36d6d09798aaa334e1e9 diff --git a/configuration.py b/configuration.py index 59da934..fc573ba 100644 --- a/configuration.py +++ b/configuration.py @@ -1,59 +1,142 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -### Toutes les "constantes" de config importés partout + +### Toutes les "constantes" de config importés pour ce qui concerne les courbes +CONFIG = {} + +# les unités acceptées +CONFIG["liste_unites"] = ["jours", "semaines", "mois", "années"] +CONFIG["liste_typedonnees"] = ["poids","taille"] +CONFIG["unites_typedonnees"] = {"poids": "kg", "taille":"cm"} +# à combien on arrondit par défaut les dnnées +CONFIG["arrondis_typedonnees"] = {"poids": 0.01, "taille": 1} + +# Liste des calculs additionnels +CONFIG["extradata"] = ["calculextradata", "calculextratemps"] + +# Liste des symboles autorisés pour les enfants (matplotlib). +# Sous forme "item: description" +CONFIG["liste_symboles"] = {"o": "●", "^": "▲", "v": "▼", "<": "◀", ">": "▶", "s": "■", "p": "⬟", "P": "➕", "x": "×", "D": "◆", '$\u2665$':"♥" } + # fichiers -f_poids_perc_garcon = "wfa_boys_p_exp.txt" -f_poids_perc_fille = "wfa_girls_p_exp.txt" -f_poids_z_garcon = "wfa_boys_z_exp.txt" -f_poids_z_fille = "wfa_girls_z_exp.txt" + +CONFIG["chemin_oms"] = "data_OMS/" +CONFIG["fichiersOMS"] = {} + +CONFIG["fichiersOMS"]["poids"] = { + "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", + } +CONFIG["fichiersOMS"]["taille"] = { + "perc_garcon": "lhfa_boys_p_exp.txt", + "perc_fille": "lhfa_girls_p_exp.txt", + "z_garcon": "lhfa_boys_z_exp.txt", + "z_fille": "lhfa_girls_z_exp.txt", + "perc_mixte": "lhfa_mix_p_exp.txt", + "z_mixte": "lhfa_mix_z_exp.txt", + } + + +# ajouter le chemin +for typed in CONFIG["liste_typedonnees"]: + + for (cle,val) in CONFIG["fichiersOMS"][typed].items(): + CONFIG["fichiersOMS"][typed][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)] +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)] +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) -liste_unites_valides = ["jours", "semaines", "mois", "années"] +# config, côté python -# 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 ## Maxi et mini de "sécurité" -# jours maxi -jours_maxi_courbe = 6.2*jours_dans_annee +# jours maxi et mini +CONFIG["jours_maxi_courbe"] = round(5.5*CONFIG["jours_dans_annee"]) +CONFIG["jours_mini_courbe"] = 10 +CONFIG["jours_defaut_donneesvides"]= round(6.4*CONFIG["jours_dans_mois"]) # si données vides, 6 mois et quelque # poids max (protection) -poids_maxi = 80 +CONFIG["poids_maxi"] = 80 +CONFIG["poids_maxi_conversion"] = 500 #à partir de ce seuil on considère que c'est en grammes +CONFIG["taille_maxi"] = 150 # taille max du nom -longueur_max_nom_bebe = 100 +CONFIG["longueur_max_nom_bebe"] = 100 + +#largeurs et hauteurs min et max +CONFIG["largeur_graphique_max"] = 30 +CONFIG["largeur_graphique_min"] = 3 -### Taille du graphique par défaut (pouces, en 80 points par pouce) -largeur_graphique = 10 -hauteur_graphique = 7 +CONFIG["hauteur_graphique_max"] = 30 +CONFIG["hauteur_graphique_min"] = 2 -#largeurs et hauteurs min et max -largeur_graphique_max = 40 -largeur_graphique_min = 2 +CONFIG["couleurs"] = { + "courbe1" : (0,0,1), + "courbe2" : (0,1,0), + "courbe3" : (1,0,0), + "fond": (1,1,1), + "cadretxt": (0,0,0), + "grille": (0.5,0.5,0.5) + } -hauteur_graphique_max = 40 -hauteur_graphique_min = 2 + +## Configuration "par défaut" du graphique, tel qu'exporté/importé +DEFAUT = {} + +### Taille du graphique par défaut (pouces, en 80 points par pouce) +DEFAUT["largeur"] = 10 +DEFAUT["hauteur"] = 7 # Nombre de lignes par défaut dans le formulaire -nombre_lignes_form = 5 +DEFAUT["nb_data"] = 6 + +# couleurs par défaut +DEFAUT["couleurs"] = {} +DEFAUT["couleurs"]["courbe1"] = "#0000FF" # bleu +DEFAUT["couleurs"]["courbe2"] = "#00FF00" # vert +DEFAUT["couleurs"]["courbe3"] = "#FF0000" # rouge +DEFAUT["couleurs"]["fond"]= "#FFFFFF" # blanc +DEFAUT["couleurs"]["cadretxt"] = "#000000" # noir +DEFAUT["couleurs"]["courbeenfant"] = "#000000" # noir +DEFAUT["couleurs"]["grille"] = "#7f7f7f" # gris + +DEFAUT["symbole"] = "o" # Symbole par défaut + + +# Remplissage du formulaire, autres +DEFAUT["age_0"]= "0j" +DEFAUT["legende"] = "oui" +DEFAUT["typecourbe"] = "P" +DEFAUT["unite"] = "" +DEFAUT["tracevide"] = "" +DEFAUT["memechelle"] = "" +DEFAUT["positionlegende"] = "hg" +DEFAUT["prolongercourbes"] = "" +DEFAUT["grilleamelio"] = "oui" + +DEFAUT["prematurite"] = "0j" +DEFAUT["agecorrige"] = "oui" # initialiser la config def config_init(): - return {"largeur": largeur_graphique, - "hauteur": hauteur_graphique, - "nb_data":nombre_lignes_form, - "age_0": "0j", - "legende": "oui", - "positionlegende": "hg"} + c = DEFAUT.copy() + c["non_sauve"] = {} + return c