Adding comments
This commit is contained in:
parent
8dcb4755fb
commit
e83c5e5a04
2 changed files with 32 additions and 29 deletions
43
db.py
43
db.py
|
@ -1,51 +1,52 @@
|
||||||
import sqlite3
|
import sqlite3
|
||||||
|
from sqlite3.dbapi2 import Cursor
|
||||||
|
|
||||||
class BaseDeDonnees:
|
class BaseDeDonnees:
|
||||||
"""Gère la base de donnée."""
|
"""Gère la base de donnée."""
|
||||||
def __init__(self, urlBaseDeDonnee: str):
|
def __init__(self, urlBaseDeDonnee: str):
|
||||||
self.connexion = self.creerConnexion(urlBaseDeDonnee)
|
self.connexion = self.creerConnexion(urlBaseDeDonnee)
|
||||||
|
|
||||||
def creerConnexion(self, path):
|
def creerConnexion(self, path: str):
|
||||||
"""Connexion à une base de donnée SQLite."""
|
"""Connexion à une base de donnée SQLite."""
|
||||||
if not self.fichierExiste(path):
|
if not self.fichierExiste(path): # si l base de donnée n'existe pas
|
||||||
open(path, "x")
|
open(path, "x") # on la créer
|
||||||
connnexion = None
|
|
||||||
try:
|
try:
|
||||||
connnexion = sqlite3.connect(path)
|
connnexion = sqlite3.connect(path)
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e:
|
||||||
print(e)
|
print(e) # on affiche l'erreur
|
||||||
|
connnexion = None # et renvoie None
|
||||||
return connnexion
|
return connnexion
|
||||||
|
|
||||||
def fichierExiste(self, path):
|
def fichierExiste(self, path: str) -> bool:
|
||||||
"""Vérifie qu'un fichier existe."""
|
"""Vérifie qu'un fichier existe."""
|
||||||
try:
|
try: # on essaie d'ouvrir le fichier
|
||||||
open(path, "r")
|
open(path, "r")
|
||||||
except FileNotFoundError:
|
except FileNotFoundError: # si le fichier n'existe pas
|
||||||
return False
|
return False
|
||||||
else:
|
else: # si le fichier existe
|
||||||
return True
|
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."""
|
"""Envois une requête vers la base de données."""
|
||||||
try:
|
try:
|
||||||
curseur = self.connexion.cursor()
|
curseur = self.connexion.cursor()
|
||||||
if valeurs:
|
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]:
|
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]
|
valeurs = [valeurs]
|
||||||
curseur.execute(requete, valeurs)
|
curseur.execute(requete, valeurs)
|
||||||
else:
|
else: # sinon on lance juste la requête
|
||||||
curseur.execute(requete)
|
curseur.execute(requete)
|
||||||
self.connexion.commit()
|
self.connexion.commit() # applique les changements à la base de donnée
|
||||||
return (curseur, curseur.lastrowid)
|
return (curseur, curseur.lastrowid) # renvoie le curseur et l'ID de l'élément modifié
|
||||||
except sqlite3.Error as e:
|
except sqlite3.Error as e: # s'il y a eu une erreur SQLite
|
||||||
print(e)
|
print(e)
|
||||||
|
|
||||||
def affichageResultat(self, curseur):
|
def affichageResultat(self, curseur: Cursor) -> list:
|
||||||
"""Affiche le résultat d'une requête."""
|
"""Affiche le résultat d'une requête."""
|
||||||
tableau = []
|
tableau = []
|
||||||
if curseur == None:
|
if curseur == None: # si le curseur est vide il n'y a rien a affiché (tableau vide)
|
||||||
return tableau
|
return tableau
|
||||||
lignes = curseur[0].fetchall()
|
lignes = curseur[0].fetchall() # sinon on récupère les éléments
|
||||||
for ligne in lignes:
|
for ligne in lignes:
|
||||||
tableau.append(ligne)
|
tableau.append(ligne) # on les ajoute au tableau
|
||||||
return tableau
|
return tableau # on le renvoie
|
||||||
|
|
18
users.py
18
users.py
|
@ -46,27 +46,29 @@ class Utilisateurs(BaseDeDonnees):
|
||||||
self.requete(requete, [pseudo, passe, metier, nom, prenom, naissance, adresse, postal])
|
self.requete(requete, [pseudo, passe, metier, nom, prenom, naissance, adresse, postal])
|
||||||
return self.affichageResultat(self.requete("SELECT last_insert_rowid();"))
|
return self.affichageResultat(self.requete("SELECT last_insert_rowid();"))
|
||||||
|
|
||||||
def suppressionUtilisateurs(self, nom: int) -> None:
|
def suppressionUtilisateurs(self, pseudo: str) -> None:
|
||||||
"""Supprime un utilisateur."""
|
"""Supprime un utilisateur."""
|
||||||
requete = """
|
requete = """
|
||||||
DELETE FROM utilisateurs
|
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."""
|
"""Renvoie vrai ou faux si les identifiants données sont bons."""
|
||||||
requete = """
|
requete = """
|
||||||
SELECT EXISTS (
|
SELECT EXISTS (
|
||||||
SELECT 1 FROM utilisateurs
|
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:
|
def listUtilisateurs(self) -> list:
|
||||||
"""Retourne la liste des utilisateurs."""
|
"""Retourne la liste des nom d'utilisateurs."""
|
||||||
requete = """
|
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))]
|
return [i[0] for i in self.affichageResultat(self.requete(requete))]
|
||||||
|
|
Reference in a new issue