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