def find_by_person_id(self, person_key: int): """Auslesen aller Lerngruppen-Objekte der gegebenen Person ID :param person_key: Person ID :return: Sammlung aller Lerngruppen-Objekte, der gegebenen Person ID """ result = [] cursor = self._cnx.cursor() cursor.execute( "SELECT L.id, L.erstellungszeitpunkt, L.gruppenname, L.profil_id, L.konversation_id " "FROM lerngruppen AS L LEFT OUTER JOIN gruppen_teilnahmen AS R " "ON R.gruppen_id=L.id " "WHERE R.person_id={}".format(person_key) ) tuples = cursor.fetchall() for ( id, erstellungszeitpunkt, gruppenname, profil_id, konversation_id, ) in tuples: lerngruppe = Lerngruppe() lerngruppe.set_id(id) lerngruppe.set_erstellungszeitpunkt(erstellungszeitpunkt) lerngruppe.set_gruppenname(gruppenname) lerngruppe.set_profil_id(profil_id) lerngruppe.set_konversation_id(konversation_id) result.append(lerngruppe) self._cnx.commit() cursor.close() return result # Rückgabe der Sammlung aller Lerngruppe-Objekte
def find_by_key(self, key: int): """Auslesen einer Lerngruppe mit vorgegebener Lerngruppen ID :param key: Lerngruppen ID :return: Sammlung aller Lerngruppen-Objekte """ result = None cursor = self._cnx.cursor() command = ( "SELECT id, erstellungszeitpunkt, gruppenname, profil_id, konversation_id FROM " "lerngruppen WHERE id={}".format(key) ) cursor.execute(command) tuples = cursor.fetchall() try: (id, erstellungszeitpunkt, gruppename, profil_id, konversation_id) = tuples[ 0 ] lerngruppe = Lerngruppe() lerngruppe.set_id(id) lerngruppe.set_erstellungszeitpunkt(erstellungszeitpunkt) lerngruppe.set_gruppenname(gruppename) lerngruppe.set_profil_id(profil_id) lerngruppe.set_konversation_id(konversation_id) result = lerngruppe except IndexError: # Wenn eine leere Sequenz zurückgegeben wird (tuples). result = None self._cnx.commit() cursor.close() return result # Der Rückgabe der ID entsprechendes Lerngruppe-Objekt (None bei fehlender DB-Tupel)
def find_by_konversation_id(self, konversation_key: int): """Auslesen aller Lerngruppen-Objekte der gegebenen Konversation ID :param konversation_key: Konversation ID :return: Sammlung aller Lerngruppen-Objekte, der gegebenen Konversation ID """ result = [] cursor = self._cnx.cursor() cursor.execute( "SELECT id, erstellungszeitpunkt, gruppenname, profil_id, konversation_id FROM " "lerngruppen WHERE konversation_id={}".format(konversation_key) ) tuples = cursor.fetchall() for ( id, erstellungszeitpunkt, gruppenname, profil_id, konversation_id, ) in tuples: lerngruppe = Lerngruppe() lerngruppe.set_id(id) lerngruppe.set_erstellungszeitpunkt(erstellungszeitpunkt) lerngruppe.set_gruppenname(gruppenname) lerngruppe.set_profil_id(profil_id) lerngruppe.set_konversation_id(konversation_id) result.append(lerngruppe) self._cnx.commit() cursor.close() return result # Rückgabe der Sammlung aller Lerngruppe-Objekte
def find_all(self): """Auslesen aller Lerngruppe-Objekte :return: Sammlung aller Lerngruppen-Objekte """ result = [] cursor = self._cnx.cursor() cursor.execute("SELECT * from lerngruppen") # SQL Statement tuples = cursor.fetchall() for ( id, erstellungszeitpunkt, gruppenname, profil_id, konversation_id, ) in tuples: lerngruppe = Lerngruppe() lerngruppe.set_id(id) lerngruppe.set_erstellungszeitpunkt(erstellungszeitpunkt) lerngruppe.set_gruppenname(gruppenname) lerngruppe.set_profil_id(profil_id) lerngruppe.set_konversation_id(konversation_id) result.append(lerngruppe) self._cnx.commit() cursor.close() return result # Rückgabe der Sammlung aller Lerngruppe-Objekte
""" cursor = self._cnx.cursor() command = "DELETE FROM lerngruppen WHERE id={}".format(lerngruppe.get_id()) cursor.execute(command) self._cnx.commit() cursor.close() """Testing für Klasse""" if __name__ == "__main__": with LerngruppeMapper() as mapper: test = Lerngruppe() test.set_gruppenname("Funky Java Kurs") test.set_profil_id(7) test.set_konversation_id(7) # Methode insert print("Test der Methode: .insert") mapper.insert(test) # Methode find_all print("Test der Methode: find_all") result = mapper.find_all() for r in result: print(r.__dict__) # Methode find_by_key print("Test der Methode: .find_by_key")