# -*- coding: utf-8 -*-
### Toutes les "constantes" de config importés pour ce qui concerne les courbes
+CONFIG = {}
+
+### La version de l'app
+CONFIG["version"] = 2.6
+# Nombre de versions anciennes dans le changelog
+CONFIG["nb_lignes_changelog"] = 4
+
+# 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$':"♥", '$\u2217$':"∗" }
+
+CONFIG["nb_fichiers_enfants_add"] = 3 # Nombre d'enfants additionnels au départ
# fichiers
-chemin_oms = "data_OMS/"
+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",
+ }
-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"
+CONFIG["voyelles"] = ["a", "e", "i", "o", "u", "y"]
+
+# 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)]
-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 = {}
-
-liste_unites_valides = ["jours", "semaines", "mois", "années"]
+# 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
-# nombre de jours dans autre chose
-jours_dans_mois = 30.4375
-jours_dans_annee = 365.25
-jours_dans_semaine = 7
## Maxi et mini de "sécurité"
-# jours maxi
-jours_maxi_courbe = 5.5*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
-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),
+ "courbe2" : (0,1,0),
+ "courbe3" : (1,0,0),
+ "fond": (1,1,1),
+ "cadretxt": (0,0,0),
+ "grille": (0.5,0.5,0.5)
+ }
-## Configuration "par défaut" du graphique, tel qu'exporté ?
+
+## Configuration "par défaut" du graphique, tel qu'exporté/importé
DEFAUT = {}
### Taille du graphique par défaut (pouces, en 80 points par pouce)
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
-#couleur_defaut_1 = "#0000FF" # bleu
-#couleur_defaut_2 = "#00FF00" # vert
-#couleur_defaut_3 = "#FF0000" # rouge
-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)
- }
-#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)
+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"
+
-#couleur_defaut_erreur = (0,0,0) # noir
+DEFAUT["prematurite"] = "0j"
+DEFAUT["agecorrige"] = "oui"
+#repere = {"typed": "age", "donnee": "", "texte": ""}
+DEFAUT["liste_reperes"] = []
+DEFAUT["nb_reperes_mini"] = 3 # Nombre minimum de lignes de repères
# 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
- })
-
+ c["non_sauve"] = {}
return c