]> git.immae.eu Git - perso/Denise/oms.git/blobdiff - gestion_unites.py
amélioration de la grille, bêta
[perso/Denise/oms.git] / gestion_unites.py
index 8fcb1ad752931f34eaf972361dae93211e6cfe80..b97d90b58ed6cfcfd44b77c8a854ab16d6a5d195 100644 (file)
@@ -7,7 +7,7 @@ from gestion_erreurs import *
 ##################### outils pour affichage et choix de l'unité
 
 def choix_unite(maxi):
-    """ en fonction de l'âge maxi, on choisit une unité pertinente : jours, mois, année"""
+    """ en fonction de l'âge maxi, on choisit une unité pertinente : jours, semaine, mois, année"""
     if maxi<40:
         return "jours"
     elif maxi <100:
@@ -17,6 +17,65 @@ def choix_unite(maxi):
     else:
         return "années"
     
+def choix_echelle_data(typedonnees, donneemax):
+    """ en fonction du type de données et du maxi (on suppose qu'on part à 0),
+    on choisit un intervalle raisonnable
+    On renvoie le couple des pas (majeur, mineur)
+    (0,0) en cas de problème avec le typedonnnes """
+
+    if typedonnees not in CONFIG["liste_typedonnees"]:
+        print("Type de données non valide : "+typedonnees)
+        return (0,0)
+
+    if typedonnees == "poids":
+        if donneemax>15:
+            return (5,1)
+        elif donneemax > 10:
+            return (2,1)
+        else:
+            return (1,0.2)
+    if typedonnees == "taille":
+        if donneemax>100:
+            return (10,2)
+        else:
+            return (5,1)
+        
+def choix_echelle_temps(unite, tempsmaxi):
+    """ en fonction de l'unité voulue et du temps maximal (donné dans l'unité),
+    on choisit un intervalle raisonnable entre les pas.
+    On renvoie le couple des pas (majeur, mineur).
+    (0,0) en cas de problème avec l'unité
+    On met 0 en 2e arg si pas de grille secondaire"""
+    if unite not in CONFIG["liste_unites"]:
+        print("Unité non valide ! "+unite)
+        return (0,0)
+    
+    if unite=="jours":
+        if tempsmaxi > 60:  # pourquoi mettre en jours ?
+            return (30,1)
+        elif tempsmaxi >20:
+            return (7,1)
+        else:
+            return (1,0)
+    if unite=="semaines":
+        if tempsmaxi >50:
+            return (5,1)
+        elif tempsmaxi > 15:
+            return (2,1)
+        else:
+            return (1,1/7) # On met en jours
+    
+    if unite=="mois":
+        if tempsmaxi > 30:
+            return (2,1)
+        elif tempsmaxi > 10:
+            return (1,0)
+        else:
+            return (1,0.25) # on met en semaines
+        
+    if unite=="années":
+        return (1,1/12) # années / mois
+    
 def convertitunite(jours,unite,liste_err):
     """ convertit des jours à l'unité voulue
     renvoie des float"""