- texte+="\n"
- return texte
-
-
-def fichier_texte_vers_configdonnees(fichier,liste_err):
- """ prend le texte importé et l'exporte vers configuration et données
- sous forme de valeurs du formulaire """
-
- valform = {}
- indice_formulaire = 0 # l'indice du formulaire pour les données : age_1, date_1, poids_1 etc
- num_ligne = 0
- lignes = fichier.readlines()
- for ligne in lignes:
- num_ligne +=1
- ligne = str(ligne,"utf8")
- ligne = ligne.rstrip("\n")
- if ligne != "" and ligne[0] != "#" and not(ligne.isspace()): # les lignes commençant par # sont des commentaires
- # On essaie de partitionner pour voir
- (var,egal,val) = ligne.partition("=")
- if egal == "=": # c'est une ligne de config
- valform[var] = val
- else:
- (age,virgule,poids) = ligne.partition(",") # On partitionne avec ,
- if virgule == ",":
- # c'est une ligne de data
- valform["age_"+str(indice_formulaire)] = age
- valform["poids_"+str(indice_formulaire)] = poids
- indice_formulaire +=1
-
- else:
- warning("La ligne "+str(num_ligne)+" n'est pas reconnue et sera ignorée : <"+ligne+">",liste_err)
-
- #le nb max du formulaire
- valform["nb_data"] = indice_formulaire +2
-
- return valform
\ No newline at end of file
+ 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
+ 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)
+ except :
+ erreur("Impossible de lire le fichier json !",liste_err)
+ return {}
+ # Il faut maintenant récupérer les l_jours et l_poids puis les remettre
+ # sous forme de age_i et poids_i
+
+ listes_jours = {}
+ listes_donnees = {}
+ for typed in CONFIG["liste_typedonnees"]:
+ if typed == "poids": # pour la rétrocompatibilité
+ listes_jours[typed] = valform.get("data_j",[])
+ listes_donnees[typed] = valform.get("data_p",[])
+ else:
+ listes_jours[typed] = valform.get("data_jours_"+typed,[])
+ listes_donnees[typed] = valform.get("data_"+typed,[])
+
+ debug("Avant fusion : listes jours "+str(listes_jours),liste_err)
+ liste_donnees = fusionne_donnees(listes_jours,listes_donnees)
+ debug("Fusion de listes ok. Liste moche : "+str(liste_donnees),liste_err)
+ for i in range(len(liste_donnees)):
+ for (cle,val) in liste_donnees[i].items():
+ valform[cle+"_"+str(i)] = val
+
+ valform["nb_data"] = max(len(liste_donnees) +2,DEFAUT["nb_data"])
+
+ return valform
+
+
+
\ No newline at end of file