From ca61f310d80e05ea43efc148787f214a567743f0 Mon Sep 17 00:00:00 2001 From: Denise sur Lya Date: Tue, 29 Jun 2021 23:04:02 +0200 Subject: [PATCH] =?utf8?q?nouveaut=C3=A9=20:=20courbes=20multiples?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- app.py | 26 +++- configuration.py | 8 ++ data/changelog_data.txt | 8 ++ gestion_donnees.py | 286 ++++++++++++++++++++++------------------ gestion_erreurs.py | 4 +- static/outilspage.js | 19 +++ static/requetes.js | 4 +- static/style.css | 6 +- templates/index.html | 45 +++++-- trace_courbe.py | 47 +++++-- 10 files changed, 298 insertions(+), 155 deletions(-) diff --git a/app.py b/app.py index c4dfc93..a803d90 100644 --- a/app.py +++ b/app.py @@ -8,7 +8,7 @@ import base64 from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas from configuration import config_init,CONFIG -from gestion_erreurs import initialise_erreurs, debug, niveau_debug +from gestion_erreurs import initialise_erreurs, debug, niveau_debug, warning import gestion_donnees as donnees from trace_courbe import cree_figure import faq as f @@ -55,7 +55,27 @@ def apropos(): def courbe_image(ext): liste_err = initialise_erreurs() data = flask.request.form - + enfants_add = [] # Enfants additionnels + for i in range(2, 11): + if 'fichier_donnees_'+str(i) in flask.request.files: # UUn enfant à ajouter + fichier = flask.request.files["fichier_donnees_"+str(i)] + chaine = fichier.read() # On récupère la chaîne + if len(chaine)>=5: # Si elle a une longueur à peu près raisonnable + debug("Un fichier de données additionnel trouvé", liste_err) + formulaire_2 = donnees.fichier_json_vers_configdonnees(chaine, liste_err) + if formulaire_2 =={}: + warning("Le fichier de données additionnel est vide ou mal formaté", liste_err) + else: + #debug("Form 2 : "+str(formulaire_2), liste_err) + # Récupérer sous forme python + conf2, ljours2, listes_donnees2 = donnees.web_vers_python(formulaire_2,liste_err, court=True) + # Et le symbole + symb2 = donnees.gere_symbole(data.get("symbole_donnees_"+str(i))) + + enfant2 = donnees.eclate_donnees_additionnelles(conf2, ljours2, listes_donnees2, symb2) + enfants_add.append(enfant2) + + # récupérer les données du formulaire proprement config,listes_jours,listes_donnees = donnees.web_vers_python(data,liste_err) debug(" * On a récupéré et traité les données du formulaire web",liste_err) @@ -75,7 +95,7 @@ def courbe_image(ext): for typed in CONFIG["liste_typedonnees"]: if config["tracevide"] == "oui" or listes_jours[typed] != []: debug("On trace la courbe de "+typed,liste_err) - fig = cree_figure(config,listes_jours[typed],listes_donnees[typed],typed,liste_extracalculs, liste_err) + fig = cree_figure(config,listes_jours[typed],listes_donnees[typed],typed,liste_extracalculs, liste_err, enfants_add) output = io.BytesIO() FigureCanvas(fig).print_png(output) plt.close(fig) diff --git a/configuration.py b/configuration.py index 2a0cb28..75088fe 100644 --- a/configuration.py +++ b/configuration.py @@ -14,6 +14,11 @@ CONFIG["arrondis_typedonnees"] = {"poids": 0.01, "taille": 1} # Liste des calculs additionnels CONFIG["extradata"] = ["calculextradata", "calculextratemps"] +# Liste des symboles autorisés pour les enfants (matplotlib). +# Sous forme "item: description" +CONFIG["liste_symboles"] = {"o": "●", "^": "▲", "v": "▼", "<": "◀", ">": "▶", "s": "■", "p": "⬟", "P": "➕", "x": "×", "D": "◆" } + + # fichiers CONFIG["chemin_oms"] = "data_OMS/" @@ -109,6 +114,9 @@ DEFAUT["couleurs"]["fond"]= "#FFFFFF" # blanc DEFAUT["couleurs"]["cadretxt"] = "#000000" # noir DEFAUT["couleurs"]["grille"] = "#7f7f7f" # gris +DEFAUT["symbole"] = "o" # Symbole par défaut + + # Remplissage du formulaire, autres DEFAUT["age_0"]= "0j" DEFAUT["legende"] = "oui" diff --git a/data/changelog_data.txt b/data/changelog_data.txt index 25f7791..5726bce 100644 --- a/data/changelog_data.txt +++ b/data/changelog_data.txt @@ -1,3 +1,11 @@ +"Version 2.4","29/06/2021","

Plus de courbes ! +

+

" + "Version 2.31","28/04/2021","

Les calculs de données sont améliorés :

-

Extrapolation

Afficher
-