X-Git-Url: https://git.immae.eu/?p=perso%2FDenise%2Foms.git;a=blobdiff_plain;f=gestion_donnees.py;h=169f3daa777b7379e8bcbea1e5dbeba10e4b451c;hp=208be4af0c07df63f30e9bdc21aa47333a014f7d;hb=a680b2f78891692be215013481e167da2fffb5d8;hpb=685a5f75f63d483d09a593ec69efad882a63a34e diff --git a/gestion_donnees.py b/gestion_donnees.py index 208be4a..169f3da 100644 --- a/gestion_donnees.py +++ b/gestion_donnees.py @@ -2,9 +2,9 @@ # -*- coding: utf-8 -*- from configuration import CONFIG,DEFAUT -from gestion_erreurs import * -from gestion_couleurs import * -from gestion_unites import * +from gestion_erreurs import debug, warning, erreur, initialise_erreurs +from gestion_couleurs import rgb_vers_tuple, tuple_vers_rgb +from gestion_unites import choix_unite import datetime import json import unidecode @@ -73,6 +73,7 @@ def convertit_age_vers_texte(nombre): if jours>0 or nombre ==0: # si c'est la naissance, faut beien écrire 0j quand même chaine += str(jours)+"j" return chaine + ########################## # fonction qui calcule "auto" le maxi du graphique en fonction du max @@ -150,7 +151,7 @@ def delta_date(date1,datenaissance): d = date1 - datenaissance jours = d.days if jours<0: - erreur_continue("La différence entre les dates est négative... :/") + warning("La différence entre les dates est négative... :/") return -1 return jours @@ -179,7 +180,7 @@ def web_vers_python(data,liste_err): -########### Fonctions qui gèretn les données +########### Fonctions qui gèretn les données web vers python def gere_checkbox(chaine): """ prend en arg une chaine, et renvoie "oui" si c'est "on" (sortie de la checkbox) @@ -193,6 +194,7 @@ def gere_configuration(data,liste_err): """ prend en argument le dictionnaire de requête (configuration imparfaite), et construit le dictionnaire de configuration qui va bien. Vérifie que chaque entrée est cohérente évidemment.""" + # Initialisation configuration = {"non_sauve": {}} # Pour le nom, osef qu'il soit vide @@ -292,6 +294,7 @@ def gere_configuration(data,liste_err): configuration["prolongercourbes"] = gere_checkbox(data.get("prolongercourbes","")) + # Ceci n'a pas besoin d'être sauvé configuration["non_sauve"]["grilleamelio"] = gere_checkbox(data.get("grilleamelio","")) configuration["couleurs"] = {} @@ -303,7 +306,7 @@ def gere_configuration(data,liste_err): return configuration - +## web vers python : données def gere_donnees(data,naissance,typedonnee,liste_err): """ prend en argument le dictionnaire de requête, et la date de naissance (éventuellement vide), et construit deux listes : @@ -347,6 +350,7 @@ def gere_donnees(data,naissance,typedonnee,liste_err): return (l_jours,l_donnee) +# python vers Json #### export vers json def donnees_vers_json(l_jours,l_poids,l_jourst,l_taille,config): @@ -378,7 +382,7 @@ def fusionne_donnees(listes_jours,listes_donnees): de données (par la même clé de type de données). Il faut les fusionner pour avoir une liste de dictionnaires, de type ("age":truc, "donnee1":truc, "donnee2":truc, ...) triée par ordre de jours. Si jamais une des données est vide, le champ du dictionnaire n'est pas rempli""" -# nb_donnees = len(listes_jours) + def fini(lj): """ teste si les listes sont toutes vides """ for l in lj.values(): @@ -411,10 +415,11 @@ def fusionne_donnees(listes_jours,listes_donnees): return liste_f - +### COnversion json vers formulaire # Json -> formulaire HTML def fichier_json_vers_configdonnees(chaine,liste_err): - """ prend le json importé (chaine) et l'exporte vers les valeurs du formulaire """ + """ prend le json importé (chaine) et l'exporte vers les valeurs du formulaire + Renvoyé sous forme de dictionnaire (mais adapté au formulaire web)""" debug("json vers config : Prêt à interpréter le json",liste_err) try: valform = json.loads(chaine)