From 9aeb7601157daf129522f6fa83ea79ebca6adb45 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Thu, 2 Dec 2021 20:21:51 +0100 Subject: [PATCH] Fix issue when missing value in csv file for the histogram --- main.py | 8 +++++--- stats.py | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/main.py b/main.py index f8a0763..042d26a 100644 --- a/main.py +++ b/main.py @@ -790,6 +790,7 @@ class GesMag: # On récupère la plus grosse vente maxVente = 0 # par défaut la meilleur vente est de 0 for prix in donnees.values(): + print(prix) prix = float(prix) if prix > maxVente: # si on trouve une valeure plus grande maxVente = prix @@ -921,11 +922,12 @@ class GesMag: Button(self.f, text="Passer en mode caissier", font=self.font, command=lambda: self._interfaceCaissier(id)).grid(column=0, row=6, columnspan=3, pady=10) # Histogramme global - histogrammeUtilisateur = Canvas(self.f, width=270, height=200) - histogrammeUtilisateur.grid(column=0, row=7, columnspan=3) + Label(self.f, text="Histogramme\nventes totales", font=self.font).grid(column=0, row=7, sticky='e') + histogrammeGlobale = Canvas(self.f, width=270, height=200) + histogrammeGlobale.grid(column=1, row=7, columnspan=2) donneesGlobales = Stats().recuperationDonneesCSV() - __actualisationCanvas(histogrammeUtilisateur, donneesGlobales) + __actualisationCanvas(histogrammeGlobale, donneesGlobales) if __name__ == "__main__": """Application "GesMag" pour le module de Programmation d'interfaces (2021-2022)""" diff --git a/stats.py b/stats.py index eb6cc57..846135f 100644 --- a/stats.py +++ b/stats.py @@ -114,13 +114,16 @@ class Stats(): dates = dict.fromkeys(self.datesDisponibles(), 0.) for date in dates: for utilisateur in fichier: - if utilisateur[date] == None: # On remplace tous les prix `None` par `0.` + if utilisateur[date] == None: # on remplace les date sans prix par `0.` utilisateur[date] = 0. dates[date] += float(utilisateur[date]) return dates else: # si on renvoie les stats spécifique à un utilisateur for utilisateur in fichier: # on regarde tous les utilisateurs stockés dans le fichier if utilisateur["id"] == str(utilisateurID): # si utilisateur trouvé + for date, prix in utilisateur.items(): # on remplace les date sans prix par `0.` + if prix == None: + utilisateur[date] = 0. return utilisateur # renvoie des infos de l'utilisateur return {} # ne retourne rien si l'utilisateur n'était pas présent dans le fichier