From 7e9f0779cc88e66689c260f6a88d82f2ec056078 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sat, 20 Nov 2021 02:37:44 +0100 Subject: [PATCH] accept username for retrieve user data --- users.py | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/users.py b/users.py index 38f7351..ca72801 100644 --- a/users.py +++ b/users.py @@ -76,8 +76,8 @@ class Utilisateurs(BaseDeDonnees): # i[0] parce que sinon ça renvoie des Tuple qui ressemble à ça : `(Utilisateur,)` return [i[0] for i in self.affichageResultat(self.requete(requete))] - def recuperationUtilisateur(self, id: int) -> dict: - """Retourne les informations d'un utilisateur grâce à son ID.""" + def recuperationUtilisateur(self, id: int = None, pseudo: str = None) -> dict: + """Retourne les informations d'un utilisateur grâce à son ID ou son pseudo (ID est priorité).""" recuperation = [ "pseudo", "passe", @@ -88,8 +88,19 @@ class Utilisateurs(BaseDeDonnees): "adresse", "postal" ] - requete = f""" - SELECT {", ".join(recuperation)} FROM utilisateurs - WHERE id = ? - """ - return self.affichageResultatDictionnaire(recuperation, self.requete(requete, id)) + if not id: # si la variable `id` n'est pas définie + if not pseudo: # si la variable `pseudo` n'est pas définie + raise ValueError # Aucun utilisateur renseigné + else: # si un pseudo est renseigné, c'est ce qu'on va utilisé + requete = f""" + SELECT {", ".join(recuperation)} FROM utilisateurs + WHERE pseudo = ? + """ + utilisateur = pseudo + else: # si un id est renseigné, c'est ce qu'on va utilisé + requete = f""" + SELECT {", ".join(recuperation)} FROM utilisateurs + WHERE id = ? + """ + utilisateur = id + return self.affichageResultatDictionnaire(recuperation, self.requete(requete, utilisateur))