X-Git-Url: https://git.immae.eu/?p=perso%2FDenise%2Foms.git;a=blobdiff_plain;f=gestion_unites.py;fp=gestion_unites.py;h=b97d90b58ed6cfcfd44b77c8a854ab16d6a5d195;hp=8fcb1ad752931f34eaf972361dae93211e6cfe80;hb=685a5f75f63d483d09a593ec69efad882a63a34e;hpb=c2fe511bb9e6974cc267b8926a47b1fa81b37da3 diff --git a/gestion_unites.py b/gestion_unites.py index 8fcb1ad..b97d90b 100644 --- a/gestion_unites.py +++ b/gestion_unites.py @@ -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"""