X-Git-Url: https://git.immae.eu/?p=perso%2FDenise%2Foms.git;a=blobdiff_plain;f=gestion_unites.py;h=d4089bd9c0e0dbafad3ea67820730094845505df;hp=afbc479ed56176264cd8a4139a5ba96b6d83a794;hb=a680b2f78891692be215013481e167da2fffb5d8;hpb=d03279e72fcb75ddf784fbd0dcce2b2b15f5ff09 diff --git a/gestion_unites.py b/gestion_unites.py index afbc479..d4089bd 100644 --- a/gestion_unites.py +++ b/gestion_unites.py @@ -2,19 +2,80 @@ # -*- coding: utf-8 -*- from configuration import CONFIG -from gestion_erreurs import * +from gestion_erreurs import warning ##################### 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: + return "semaines" elif maxi<25*CONFIG["jours_dans_mois"]: return "mois" 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 (1,0.5) + 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 >15: + return (7,1) + else: + return (1,0) + if unite=="semaines": + if tempsmaxi >50: + return (5,1) + elif tempsmaxi > 10: + return (2,1) + else: + return (1,1/7) # On met en jours + + if unite=="mois": + if tempsmaxi > 24: + return (12,1) + elif tempsmaxi > 10: + return (1,0) + else: + return (1,0.25) # on met en semaines à peu près (quart de mois) + + 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"""