Fix issue when missing value in csv file for the histogram

This commit is contained in:
Mylloon 2021-12-02 20:21:51 +01:00
parent b1261ca4c0
commit 9aeb760115
2 changed files with 9 additions and 4 deletions

View file

@ -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)"""

View file

@ -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