allow forcing the creation of the global csv file

This commit is contained in:
Mylloon 2021-11-29 21:01:00 +01:00
parent 34ce629429
commit 8e4a4dc014

View file

@ -6,13 +6,18 @@ from users import Utilisateurs
class Stats(Utilisateurs): class Stats(Utilisateurs):
"""Gère les statistiques et son export en format CSV.""" """Gère les statistiques et son export en format CSV."""
def creationCSV(self): def creationCSV(self, force: bool = False):
"""Créer le fichier `CSV` qui stockera les statistiques pour tous les utilisateurs.""" """
if not self.fichierExiste("stats.csv"): Créer le fichier `CSV` qui stockera les statistiques pour tous les utilisateurs.
Possibilité de forcer la création (càd même si le fichier existe déjà) en renseignant
`force = True`
"""
if not self.fichierExiste("stats.csv") or force:
entete = ["id", "pseudo"] entete = ["id", "pseudo"]
dateAujourdHui = date.today() dateAujourdHui = date.today()
for _ in range(0, 8): for _ in range(0, 8):
entete.append(dateAujourdHui) entete.append(dateAujourdHui.strftime("%Y/%m/%d"))
dateAujourdHui = dateAujourdHui - timedelta(days=1) dateAujourdHui = dateAujourdHui - timedelta(days=1)
with open("stats.csv", 'w') as f: with open("stats.csv", 'w') as f:
@ -33,6 +38,9 @@ class Stats(Utilisateurs):
Procéder normalement consiste à ajouter le prix au prix totale stocké dans la base de donnée. Procéder normalement consiste à ajouter le prix au prix totale stocké dans la base de donnée.
""" """
self.miseAJourDatesCSV()
aujourdHui = date.today().strftime("%Y/%m/%d")
print(prix) print(prix)
pass pass
@ -56,5 +64,6 @@ class Stats(Utilisateurs):
def miseAJourDatesCSV(self): def miseAJourDatesCSV(self):
"""Mets-à-jour les dates trop anciennes du fichier globales `CSV`.""" """Mets-à-jour les dates trop anciennes du fichier globales `CSV`."""
with open("stats.csv", 'r') as f: with open("stats.csv", 'r') as f:
fichier = csv.DictReader(f) fichier = list(csv.DictReader(f))
print(fichier) if fichier == []: # si fichier vide
self.creationCSV(True) # on recréer le fichier dans le doute