From e83c5e5a04a89755f3422492952d593e0c572e52 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Fri, 19 Nov 2021 11:12:28 +0100 Subject: [PATCH] Adding comments --- db.py | 43 ++++++++++++++++++++++--------------------- users.py | 18 ++++++++++-------- 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/db.py b/db.py index c0618f9..d7aa3e6 100644 --- a/db.py +++ b/db.py @@ -1,51 +1,52 @@ import sqlite3 +from sqlite3.dbapi2 import Cursor class BaseDeDonnees: """Gère la base de donnée.""" def __init__(self, urlBaseDeDonnee: str): self.connexion = self.creerConnexion(urlBaseDeDonnee) - def creerConnexion(self, path): + def creerConnexion(self, path: str): """Connexion à une base de donnée SQLite.""" - if not self.fichierExiste(path): - open(path, "x") - connnexion = None + if not self.fichierExiste(path): # si l base de donnée n'existe pas + open(path, "x") # on la créer try: connnexion = sqlite3.connect(path) except sqlite3.Error as e: - print(e) + print(e) # on affiche l'erreur + connnexion = None # et renvoie None return connnexion - def fichierExiste(self, path): + def fichierExiste(self, path: str) -> bool: """Vérifie qu'un fichier existe.""" - try: + try: # on essaie d'ouvrir le fichier open(path, "r") - except FileNotFoundError: + except FileNotFoundError: # si le fichier n'existe pas return False - else: + else: # si le fichier existe return True - def requete(self, requete, valeurs = None): + def requete(self, requete: str, valeurs = None): """Envois une requête vers la base de données.""" try: curseur = self.connexion.cursor() - if valeurs: - if type(valeurs) not in [list, tuple]: + if valeurs: # s'il y a des valeurs alors on lance la commande `execute` avec ses dernières + if type(valeurs) not in [list, tuple]: # si la valeur c'est juste une chaîne de charactère (par exemple), alors la converti en liste valeurs = [valeurs] curseur.execute(requete, valeurs) - else: + else: # sinon on lance juste la requête curseur.execute(requete) - self.connexion.commit() - return (curseur, curseur.lastrowid) - except sqlite3.Error as e: + self.connexion.commit() # applique les changements à la base de donnée + return (curseur, curseur.lastrowid) # renvoie le curseur et l'ID de l'élément modifié + except sqlite3.Error as e: # s'il y a eu une erreur SQLite print(e) - def affichageResultat(self, curseur): + def affichageResultat(self, curseur: Cursor) -> list: """Affiche le résultat d'une requête.""" tableau = [] - if curseur == None: + if curseur == None: # si le curseur est vide il n'y a rien a affiché (tableau vide) return tableau - lignes = curseur[0].fetchall() + lignes = curseur[0].fetchall() # sinon on récupère les éléments for ligne in lignes: - tableau.append(ligne) - return tableau + tableau.append(ligne) # on les ajoute au tableau + return tableau # on le renvoie diff --git a/users.py b/users.py index fc8956c..0617862 100644 --- a/users.py +++ b/users.py @@ -46,27 +46,29 @@ class Utilisateurs(BaseDeDonnees): self.requete(requete, [pseudo, passe, metier, nom, prenom, naissance, adresse, postal]) return self.affichageResultat(self.requete("SELECT last_insert_rowid();")) - def suppressionUtilisateurs(self, nom: int) -> None: + def suppressionUtilisateurs(self, pseudo: str) -> None: """Supprime un utilisateur.""" requete = """ DELETE FROM utilisateurs - WHERE nom = ? + WHERE pseudo = ? """ - self.requete(requete, nom) + self.requete(requete, pseudo) - def verificationIdentifiants(self, nom: str, motDePasse: str) -> bool: + def verificationIdentifiants(self, pseudo: str, motDePasse: str) -> bool: """Renvoie vrai ou faux si les identifiants données sont bons.""" requete = """ SELECT EXISTS ( SELECT 1 FROM utilisateurs - WHERE nom = ? AND passe = ? + WHERE pseudo = ? AND passe = ? ) """ - return True if self.affichageResultat(self.requete(requete, [nom, motDePasse]))[0][0] == 1 else False + # Vrai si le premier élément que renvoie la requête au dessus est 1 + return True if self.affichageResultat(self.requete(requete, [pseudo, motDePasse]))[0][0] == 1 else False def listUtilisateurs(self) -> list: - """Retourne la liste des utilisateurs.""" + """Retourne la liste des nom d'utilisateurs.""" requete = """ - SELECT nom FROM utilisateurs + SELECT pseudo FROM utilisateurs """ + # i[0] parce que sinon ça renvoie des Tuple qui ressemble à ça : `(Utilisateur,)` return [i[0] for i in self.affichageResultat(self.requete(requete))]