Added the structure of the functions that will be used to store and export statistics

This commit is contained in:
Mylloon 2021-11-29 14:21:23 +01:00
parent 4c6f8706c8
commit 5172929c7b

View file

@ -1,7 +1,7 @@
from users import Utilisateurs from users import Utilisateurs
class Stats(Utilisateurs): class Stats(Utilisateurs):
"""Gère l'export des statistiques en format CSV.""" """Gère les statistiques et son export en format CSV."""
def __init__(self): def __init__(self):
super().__init__(r"db.sqlite3") super().__init__(r"db.sqlite3")
@ -9,14 +9,31 @@ class Stats(Utilisateurs):
""" """
Récupère le prix d'une transaction et l'ajoute au total d'un utilisateur. Récupère le prix d'une transaction et l'ajoute au total d'un utilisateur.
- Si aucune date n'est précisé dans la base de donnée d'un utilisateur, - si aucune date n'est précisé dans la base de donnée d'un utilisateur,
alors il n'a jamais enregistré de statistiques et on procède normalement. alors il n'a jamais enregistré de statistiques et on procède normalement
- Si une date est déjà renseigné : - si une date est déjà renseigné :
- Si la date correspond à la date d'aujourd'hui, on procède normalement - si la date correspond à la date d'aujourd'hui, on procède normalement
- Si la date ne correspond pas, on enregistre ce qu'il y a dans la base de donnée - si la date ne correspond pas, on enregistre ce qu'il y a dans la base de donnée
dans un fichier `CSV`, ensuite on écrase l'ancien prix par `0` et la date par celle dans un fichier `CSV`, ensuite on écrase l'ancien prix par `0` et la date par celle
d'aujourd'hui, ensuite on procède normalement d'aujourd'hui, ensuite on procède normalement
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.
"""
pass
def exportCSV(self, utilisateurID: int, mode: bool = False):
"""
Exporte les statistiques d'un utilisateur dans un fichier `CSV`.
Deux modes :
- `False` : exporte dans le fichier globale (qui contient tous les utilisateurs, utilisés
par l'histogramme de l'interface du Manager)
- si le fichier `CSV` ne contient aucune donnée de l'utilisateur, on créer
le fichier (sa structure, etc.) et on y rajoute les données de l'utilisateur
- ne garde qu'un historique des 7 derniers jours maximum
- `True` : exporte dans un fichier séparé l'utilisateur choisie (demande à l'utilisateur
il souhaite que le fichier soit exporté) - (utilisé par le bouton d'exportation de
l'interface du caissier)
- A savoir : n'exporte que l'état actuel de la base de donnée
""" """
pass pass