def __init__(self): self.db_manager = DatabaseManager() self._conn = self.db_manager.get_connection() self._cursor = None
class EtudiantDBAPI(IPersistence): """ Cette classe sert d'interface pour la mannipulation de la base par le module core """ def __init__(self): self.db_manager = DatabaseManager() self._conn = self.db_manager.get_connection() self._cursor = None def add(self, etudiant): """Permet d'insérer des données dans la table module""" self.req = "INSERT INTO etudiant(nom, prenom, matricule, telephone, adresse, email, date_naissance, lieu_naissance, nationalite, idFiliere, nom_contact, prenom_contact, telephone_contact, email_contact) \ values(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" self.args = (etudiant.nom, etudiant.prenom, etudiant.matricule, etudiant.telephone, etudiant.adresse, etudiant.email, etudiant.date_naissance, etudiant.lieu_naissance, etudiant.nationalite, etudiant.idFiliere, etudiant.nom_contact, etudiant.prenom_contact, etudiant.telephone_contact, etudiant.email_contact) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème sur l'insertion dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def edit(self, id, module): """Permet de modifier des données de la table module """ self.req = "UPDATE module SET nom_module = %s, \ volume_horaire = %s, \ coefficient = %s WHERE id = %s" self.args = (module.nom_module,module.volume_horaire, \ module.coefficient, id) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème pendant la modification dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def delete(self, id): self.req = "DELETE FROM module WHERE id = %s" self.args = (id, ) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème pendant la suppression dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def get_by_id(self, id): self.etudiant = Etudiant() self.req = "SELECT * from etudiant WHERE id = %s" self.args = (id, ) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self.ligne = self._cursor.fetchone() if (self.ligne): self.etudiant.id = self.ligne[0] self.etudiant.nom_etudiant = self.ligne[1] self.etudiant.volume_horaire = self.ligne[2] self.etudiant.coefficient = self.ligne[3] except Error as error: print(f"Problème de la sélection dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() return self.etudiant def get_all(self): self.all_etudiants = [] self.req = "SELECT * from etudiant" try: self._cursor = self._conn.cursor() self._cursor.execute(self.req) self.lignes = self._cursor.fetchall() if (self.lignes): self.all_etudiants = self.lignes except Error as error: print(f"Problème de la sélection dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() return self.all_etudiants
class FicheNotesDBAPI(IPersistence): """ Cette classe sert d'interface pour la mannipulation de la base par le module core """ def __init__(self): self.db_manager = DatabaseManager() self._conn = self.db_manager.get_connection() self._cursor = None def add(self, fiche_note): """Permet d'insérer des données dans la table module""" self.req = "INSERT INTO fiche_note(date, type_evaluation, numero_evaluation, id_prof, id_groupe, id_module) \ values(%s, %s, %s, %s, %s, %s)" self.args = (fiche_note.date_creation, fiche_note.type_evaluation, fiche_note.numero_evaluation, fiche_note.id_prof, fiche_note.id_groupe, fiche_note.id_module) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème sur l'insertion dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def add_note(self, note): """Permet d'insérer des données dans la table module""" print(self.args) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème sur l'insertion dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def edit(self, id, fiche_note): """Permet de modifier des données de la table module """ self.req = "UPDATE fiche_note SET type_evaluation = %s, \ numero_evaluation = %s, \ WHERE id = %s" self.args = (fiche_note.type_evaluation, fiche_note.numero_evaluation, id) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème pendant la modification dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def delete(self, id): self.req = "DELETE FROM fiche_note WHERE id = %s" self.args = (id, ) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème pendant la suppression dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def get_by_id(self, id): self.etudiant = FicheNote() self.req = "SELECT * from note WHERE id_etudiant = %s" self.args = (id, ) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self.ligne = self._cursor.fetchone() if (self.ligne): self.etudiant.id = self.ligne[0] self.etudiant.nom_etudiant = self.ligne[1] self.etudiant.volume_horaire = self.ligne[2] self.etudiant.coefficient = self.ligne[3] except Error as error: print(f"Problème de la sélection dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() return self.etudiant def get_all(self): self.all_etudiants = [] self.req = "SELECT * from fiche_note" try: self._cursor = self._conn.cursor() self._cursor.execute(self.req) self.lignes = self._cursor.fetchall() if (self.lignes): self.all_etudiants = self.lignes except Error as error: print(f"Problème de la sélection dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() return self.all_etudiants
class ModuleDBAPI(IPersistence): """ Cette classe sert d'interface pour la mannipulation de la base par le module core """ def __init__(self): self.db_manager = DatabaseManager() self._conn = self.db_manager.get_connection() self._cursor = None def add(self, module): """Permet d'insérer des données dans la table module""" self.req = "INSERT INTO module(nom_module, volume_horaire, coefficient) \ values(%s, %s, %s)" self.args = (module.nom_module, module.volume_horaire, module.coefficient) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème sur l'insertion dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def edit(self, id, module): """Permet de modifier des données de la table module """ self.req = "UPDATE module SET nom_module = %s, \ volume_horaire = %s, \ coefficient = %s WHERE id = %s" self.args = (module.nom_module,module.volume_horaire, \ module.coefficient, id) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème pendant la modification dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def delete(self, id): self.req = "DELETE FROM module WHERE module.id = %s" self.args = (id) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème pendant la suppression dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def get_by_id(self, id): self.module = Module() self.req = "SELECT * from module WHERE id = %s" self.args = (id, ) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self.ligne = self._cursor.fetchone() if (self.ligne): self.module.id = self.ligne[0] self.module.nom_module = self.ligne[1] self.module.volume_horaire = self.ligne[2] self.module.coefficient = self.ligne[3] except Error as error: print(f"Problème de la sélection dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() return self.module def get_all(self): self.all_modules = [] self.req = "SELECT * from module" try: self._cursor = self._conn.cursor() self._cursor.execute(self.req) self.lignes = self._cursor.fetchall() if (self.lignes): self.all_modules = self.lignes except Error as error: print(f"Problème de la sélection dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() return self.all_modules
class ProfDBAPI(IPersistence): """ Cette classe sert d'interface pour la mannipulation de la base par le module core """ def __init__(self): self.db_manager = DatabaseManager() self._conn = self.db_manager.get_connection() self._cursor = None def add(self, prof): """Permet d'insérer des données dans la table module""" self.req = "INSERT INTO prof(matricule, nom, prenom, telephone, adresse, email, date_naissance, lieu_naissance, nationalite, specialite) \ values(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" self.args = (prof.matricule, prof.nom, prof.prenom, prof.telephone, prof.adresse, prof.email, prof.date_naissance, prof.lieu_naissance, prof.nationalite, prof.specialite) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème sur l'insertion dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def edit(self, id, prof): """Permet de modifier des données de la table module """ self.req = "UPDATE prof SET nom = %s, \ prenom = %s, \ telephone = %s WHERE id = %s" self.args = (prof.nom,prof.prenom, \ prof.telephone, id) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème pendant la modification dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def delete(self, id): self.req = "DELETE FROM prof WHERE id = %s" self.args = (id, ) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self._conn.commit() except Error as error: print(f"Problème pendant la suppression dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def get_by_id(self, id): self.prof = Prof() self.req = "SELECT * from prof WHERE id = %s" self.args = (id, ) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self.ligne = self._cursor.fetchone() if (self.ligne): self.prof.id = self.ligne[0] self.prof.matricule = self.ligne[1] self.prof.nom = self.ligne[2] self.prof.prenom = self.ligne[3] self.prof.email = self.ligne[4] self.prof.specialite = self.ligne[5] except Error as error: print(f"Problème de la sélection dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() return self.prof def get_all(self): self.all_professeurs = [] self.req = "SELECT * from prof" try: self._cursor = self._conn.cursor() self._cursor.execute(self.req) self.lignes = self._cursor.fetchall() if (self.lignes): self.all_professeurs = self.lignes except Error as error: print(f"Problème de la sélection dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() return self.all_professeurs
class GroupeDBAPI(IPersistence): """ Cette classe sert d'interface pour la mannipulation de la base par le module core """ def __init__(self): self.db_manager = DatabaseManager() self._conn = self.db_manager.get_connection() self._cursor = None def add(self, groupe): """Permet d'insérer des données dans la table module""" self.req = "INSERT INTO groupe(nom_groupe, cycle, niveau, id_filiere, date_creation) \ values(%s, %s, %s, %s, %s)" self.args = (groupe.nom_groupe, groupe.cycle, groupe.niveau, groupe.id_filiere, groupe.date_creation) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req,self.args) self._conn.commit() except Error as error: print(f"Problème sur l'insertion dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def edit(self, id, groupe): """Permet de modifier des données de la table module """ self.req = "UPDATE groupe SET nom_groupe = %s, \ id_filiere = %s, \ WHERE id = %s" self.args = (groupe.nom_groupe,groupe.id_filiere, id) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req,self.args) self._conn.commit() except Error as error: print(f"Problème pendant la modification dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def delete(self, id): self.req = "DELETE FROM groupe WHERE id = %s" self.args = (id,) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req,self.args) self._conn.commit() except Error as error: print(f"Problème pendant la suppression dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() def get_by_id(self, id): #self.groupe = Groupe() self.all_groupes = [] self.req = "SELECT * from groupe WHERE id_filiere = %s" self.args = (id,) try: self._cursor = self._conn.cursor() self._cursor.execute(self.req, self.args) self.ligne = self._cursor.fetchall() if(self.ligne): self.all_groupes = self.ligne # self.groupe.id = self.ligne[0] # self.groupe.nom_groupe = self.ligne[1] # self.groupe.cycle = self.ligne[2] # self.groupe.niveau = self.ligne[3] # self.groupe.date_creation = self.ligne[4] except Error as error: print(f"Problème de la sélection dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() return self.all_groupes def get_all(self): self.all_groupes = [] self.req = "SELECT * from groupe" try: self._cursor = self._conn.cursor() self._cursor.execute(self.req) self.lignes = self._cursor.fetchall() if(self.lignes): self.all_groupes = self.lignes except Error as error: print(f"Problème de la sélection dans la base: {error}") finally: self._cursor.close() self.db_manager.close_connection() return self.all_groupes