def trouveAvecCourriel(courriel, curseur=DataBase.cursor()): curseur.execute('SELECT * FROM Artiste WHERE courriel=%s ;', courriel) artiste = curseur.fetchone() if artiste is not None: return Artiste(Client.trouveAvecCourriel(courriel=courriel), artiste[1]) return None
def devient_artiste(courriel, nom): client = Client.trouveAvecCourriel(courriel=courriel) if client is None: return None cursor = DataBase.cursor() cursor.execute('INSERT INTO Artiste VALUE (%s, %s);', (courriel, nom)) return Artiste(client, nom)
def cherche_nom(nom, curseur=DataBase.cursor()): curseur.execute('SELECT * FROM Artiste WHERE nom=%s ;', nom) resultat = curseur.fetchone() if resultat is not None: return {'nom': resultat[1], 'courriel': resultat[0]} return None
def recupere_tous(numCommande, curseur=DataBase.cursor()): curseur.execute("SELECT * FROM Commentaire WHERE numCommande=%s", numCommande) return [ Commentaire(c[0], c[1], c[2], c[3], c[4]).getDict() for c in curseur.fetchall() ]
def commande_artiste(nom, curseur=DataBase.cursor()): curseur.execute("SELECT * FROM Commande WHERE superviseur=%s", nom) commandes = curseur.fetchall() if commandes is not None: return [ Commande(c[0], c[1], c[2], c[3], c[4], c[5], c[6]).toDict() for c in commandes ]
def mes_commandes(courriel, curseur=DataBase.cursor()): curseur.execute("SELECT * FROM Commande WHERE demandeur=%s", courriel) commandes = curseur.fetchall() if commandes is not None: return [ Commande(c[0], c[1], c[2], c[3], c[4], c[5], c[6]).toDict() for c in commandes ]
def pour_artiste(nom): curseur = DataBase.cursor() curseur.execute("SELECT * FROM Oeuvre WHERE auteur=%s;", nom) resultat = curseur.fetchall() if resultat is not None: return [ Oeuvre(x[0], x[1], x[2], x[3], x[4], x[5]).toDict() for x in resultat ]
def liste_artiste(): curseur = DataBase.cursor() curseur.execute('SELECT * FROM Artiste;') resultat = curseur.fetchall() if resultat is not None: artistes = [Artiste.cherche_nom(x[1], curseur) for x in resultat] return artistes return None
def commander_creation(superviseur, demandeur, prix, adresse_livraison, curseur=DataBase.cursor()): curseur.execute( "INSERT INTO Commande (superviseur, demandeur, prix, adresseLivraison, type) VALUES (%s, %s, %s, %s, 'Création')", (superviseur, demandeur, prix, adresse_livraison)) curseur.execute("SELECT MAX(num) FROM Commande;") return curseur.fetchone() # retourne le numero de la commande créée
def ajoute(nom, auteur, dateCreation, type='', description='', enExposition=False, curseur=DataBase.cursor()): oeuvre = f"INSERT INTO Oeuvre (nom, auteur, dateCreation, type, description, enExposition) VALUE ('{nom}','{auteur}',STR_TO_DATE('{dateCreation}','%Y-%m-%d'),'{type}','{description}',{enExposition})" curseur.execute(oeuvre) return {}
def recherche(): type = request.args.get('type') recherche = request.args.get('recherche') if type == 'Artiste': response = { "status": 200, "oeuvre": oeuvre.recherche_arti(recherche, DataBase.cursor()) } return jsonify(response) elif type == 'Oeuvre': response = { "status": 200, "oeuvre": oeuvre.recherche_nom(recherche, DataBase.cursor()) } return jsonify(response) elif type == 'Type': response = { "status": 200, "oeuvre": oeuvre.recherche_type(recherche, DataBase.cursor()) } return jsonify(response)
def commander_reservation(oeuvre, superviseur, demandeur, prix, adresse_livraison, curseur=DataBase.cursor()): print("Reserve commande") curseur.execute( "INSERT INTO Commande (oeuvre, superviseur, demandeur, prix, adresseLivraison, type) VALUES (%s, %s, %s, %s, %s, 'Réservation')", (oeuvre, superviseur, demandeur, prix, adresse_livraison)) curseur.execute("SELECT MAX(num) FROM Commande;") num = curseur.fetchone() print(num) return num # retourne le numero de la commande créée
def recup_fac(numCmd, curseur =DataBase.cursor()): curseur.execute('SELECT * FROM Facture WHERE numCommande=%s',numCmd) return [Facture(f[0],f[1],f[2],f[3]).getDict() for f in curseur.fetchall()]
def ajoute(auteur, numCommande, texte, curseur=DataBase.cursor()): print(auteur, numCommande, texte) curseur.execute( "INSERT INTO Commentaire (auteur, numCommande, texte) VALUE (%s, %s, %s)", (auteur, numCommande, texte))
def supprime(nom, auteur): cursor = DataBase.cursor() cursor.execute('DELETE FROM Oeuvre WHERE nom = %s AND auteur = %s', (nom, auteur)) return {}
def fin_carriere(courriel): cursor = DataBase.cursor() cursor.execute('DELETE FROM Artiste WHERE courriel=%s;', courriel) return {}
def recup_artiste(): response = { "status": 200, "artiste": artiste.expo(DataBase.cursor()) } return jsonify(response)
from src.database import DataBase from os import getenv from dotenv import load_dotenv from src.database.oeuvre import Oeuvre from src.database.artiste import Artiste load_dotenv() db = DataBase() curseur = db.cursor() monArtiste = Artiste.cherche_nom('lautre', curseur) #print(monArtiste.courriel) #mesArtistes = Artiste.liste_artiste(curseur) def cherche_nom(nom, curseur=DataBase.cursor()): curseur.execute('SELECT * FROM Artiste WHERE nom=%s ;', nom) resultat = curseur.fetchone() if resultat is not None: return {'nom': resultat[1], 'courriel': resultat[0]} return None rech = cherche_nom('alblap', curseur) #print(rech) def pour_artiste(nom): curseur = DataBase.cursor() curseur.execute("SELECT * FROM Oeuvre WHERE auteur=%s;", nom)
def facturer(numCmd,adresseFac,total, curseur=DataBase.cursor()): curseur.execute('INSERT INTO Facture VALUES (%s,%s,%s)',(numCmd,adresseFac,total))
def listefac(arti, curseur=DataBase.cursor()): curseur.execute('SELECT * FROM Facture F, Commande C WHERE F.numCommande=C.num AND C.superviseur =%s', arti) return [Facture(f[0], f[1], f[2], f[3]).getDict() for f in curseur.fetchall()]
def retrouve_oeuvre(nom, artiste, curseur=DataBase.cursor()): curseur.execute("SELECT * FROM Oeuvre WHERE nom=%s AND auteur=%s;", (nom, artiste)) oeuvre = curseur.fetchone() return Oeuvre(oeuvre[0], oeuvre[1], oeuvre[2], oeuvre[3], oeuvre[4], oeuvre[5]).toDict()
def recup_oeuvre(): response = { "status": 200, "oeuvre": oeuvre.expo(DataBase.cursor()) } return jsonify(response)