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