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
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):
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.
- 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.
- Si une date est déjà renseigné :
- 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 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
- si une date est déjà renseigné :
- 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
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
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