changelog à jour (pour mise en prod)
[perso/Denise/oms.git] / configuration.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3
4 ### Toutes les "constantes" de config importés pour ce qui concerne les courbes
5 CONFIG = {}
6
7 ### La version de l'app
8 CONFIG["version"] = 2.6
9 # Nombre de versions anciennes dans le changelog
10 CONFIG["nb_lignes_changelog"] = 4
11
12 # les unités acceptées
13 CONFIG["liste_unites"] = ["jours", "semaines", "mois", "années"]
14 CONFIG["liste_typedonnees"] = ["poids","taille"]
15 CONFIG["unites_typedonnees"] = {"poids": "kg", "taille":"cm"}
16 # à combien on arrondit par défaut les dnnées
17 CONFIG["arrondis_typedonnees"] = {"poids": 0.01, "taille": 1}
18
19 # Liste des calculs additionnels
20 CONFIG["extradata"] = ["calculextradata", "calculextratemps"]
21
22 # Liste des symboles autorisés pour les enfants (matplotlib).
23 # Sous forme "item: description"
24 CONFIG["liste_symboles"] = {"o": "&#x25CF;", "^": "&#x25B2;", "v": "&#x25BC;", "<": "&#x25C0;", ">": "&#x25B6;", "s": "&#x25A0;", "p": "&#11039;", "P": "&#x2795;", "x": "&times;", "D": "&#x25C6;", '$\u2665$':"&#x2665;", '$\u2217$':"&#x2217;" }
25
26 CONFIG["nb_fichiers_enfants_add"] = 3 # Nombre d'enfants additionnels au départ
27
28 # fichiers
29
30 CONFIG["chemin_oms"] = "data_OMS/"
31 CONFIG["fichiersOMS"] = {}
32
33 CONFIG["fichiersOMS"]["poids"] = {
34 "perc_garcon": "wfa_boys_p_exp.txt",
35 "perc_fille": "wfa_girls_p_exp.txt",
36 "z_garcon": "wfa_boys_z_exp.txt",
37 "z_fille": "wfa_girls_z_exp.txt",
38 "perc_mixte": "wfa_mix_p_exp.txt",
39 "z_mixte": "wfa_mix_z_exp.txt",
40 }
41 CONFIG["fichiersOMS"]["taille"] = {
42 "perc_garcon": "lhfa_boys_p_exp.txt",
43 "perc_fille": "lhfa_girls_p_exp.txt",
44 "z_garcon": "lhfa_boys_z_exp.txt",
45 "z_fille": "lhfa_girls_z_exp.txt",
46 "perc_mixte": "lhfa_mix_p_exp.txt",
47 "z_mixte": "lhfa_mix_z_exp.txt",
48 }
49
50 CONFIG["voyelles"] = ["a", "e", "i", "o", "u", "y"]
51
52 # ajouter le chemin
53 for typed in CONFIG["liste_typedonnees"]:
54
55 for (cle,val) in CONFIG["fichiersOMS"][typed].items():
56 CONFIG["fichiersOMS"][typed][cle] = CONFIG["chemin_oms"]+val
57
58 # Pour les courbes percentiles
59 CONFIG["liste_data_choisie_p"] = [(5,1),(7,5),(8,10),(10,25),(11,50),(12,75), (14,90),
60 (15,95),(17,99)]
61 CONFIG["liste_data_choisie_p"].sort(reverse = True)
62
63 # pour le sigma : (colonne,sigma)
64 CONFIG["liste_data_choisie_z"] = [(2,-3),(3,-2),(4,-1),(5,0),(6,1),(7,2),(8,3)]
65 CONFIG["liste_data_choisie_z"].sort(reverse=True)
66
67 # config, côté python
68
69 # nombre de jours dans les autres unités
70 CONFIG["jours_dans_mois"] = 30.4375
71 CONFIG["jours_dans_annee"] = 365.25
72 CONFIG["jours_dans_semaine"] = 7
73
74
75 ## Maxi et mini de "sécurité"
76 # jours maxi et mini
77 CONFIG["jours_maxi_courbe"] = round(5.5*CONFIG["jours_dans_annee"])
78 CONFIG["jours_mini_courbe"] = 10
79 CONFIG["jours_defaut_donneesvides"]= round(6.4*CONFIG["jours_dans_mois"]) # si données vides, 6 mois et quelque
80 # poids max (protection)
81 CONFIG["poids_maxi"] = 80
82 CONFIG["poids_maxi_conversion"] = 500 #à partir de ce seuil on considère que c'est en grammes
83 CONFIG["taille_maxi"] = 150
84 # taille max du nom
85 CONFIG["longueur_max_nom_bebe"] = 100
86
87 #largeurs et hauteurs min et max
88
89 CONFIG["largeur_graphique_max"] = 30
90 CONFIG["largeur_graphique_min"] = 3
91
92 CONFIG["hauteur_graphique_max"] = 30
93 CONFIG["hauteur_graphique_min"] = 2
94
95 CONFIG["couleurs"] = {
96 "courbe1" : (0,0,1),
97 "courbe2" : (0,1,0),
98 "courbe3" : (1,0,0),
99 "fond": (1,1,1),
100 "cadretxt": (0,0,0),
101 "grille": (0.5,0.5,0.5)
102 }
103
104
105 ## Configuration "par défaut" du graphique, tel qu'exporté/importé
106 DEFAUT = {}
107
108 ### Taille du graphique par défaut (pouces, en 80 points par pouce)
109 DEFAUT["largeur"] = 10
110 DEFAUT["hauteur"] = 7
111
112 # Nombre de lignes par défaut dans le formulaire
113 DEFAUT["nb_data"] = 6
114
115 # couleurs par défaut
116 DEFAUT["couleurs"] = {}
117 DEFAUT["couleurs"]["courbe1"] = "#0000FF" # bleu
118 DEFAUT["couleurs"]["courbe2"] = "#00FF00" # vert
119 DEFAUT["couleurs"]["courbe3"] = "#FF0000" # rouge
120 DEFAUT["couleurs"]["fond"]= "#FFFFFF" # blanc
121 DEFAUT["couleurs"]["cadretxt"] = "#000000" # noir
122 DEFAUT["couleurs"]["courbeenfant"] = "#000000" # noir
123 DEFAUT["couleurs"]["grille"] = "#7f7f7f" # gris
124
125 DEFAUT["symbole"] = "o" # Symbole par défaut
126
127
128 # Remplissage du formulaire, autres
129 DEFAUT["age_0"]= "0j"
130 DEFAUT["legende"] = "oui"
131 DEFAUT["typecourbe"] = "P"
132 DEFAUT["unite"] = ""
133 DEFAUT["tracevide"] = ""
134 DEFAUT["memechelle"] = ""
135 DEFAUT["positionlegende"] = "hg"
136 DEFAUT["prolongercourbes"] = ""
137 DEFAUT["grilleamelio"] = "oui"
138
139
140 DEFAUT["prematurite"] = "0j"
141 DEFAUT["agecorrige"] = "oui"
142 #repere = {"typed": "age", "donnee": "", "texte": ""}
143 DEFAUT["liste_reperes"] = []
144 DEFAUT["nb_reperes_mini"] = 3 # Nombre minimum de lignes de repères
145
146
147 # initialiser la config
148 def config_init():
149 c = DEFAUT.copy()
150 c["non_sauve"] = {}
151 return c
152
153