accept username for retrieve user data

This commit is contained in:
Mylloon 2021-11-20 02:37:44 +01:00
parent 6eab3b5baa
commit 7e9f0779cc

View file

@ -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))