def find_by_id(self, id):
        """Suchen eines moduls mit vorgegebener id. Da diese eindeutig ist,
        wird genau ein Objekt zurückgegeben.

        :param id Primärschlüsselattribut (->DB)
        :return modul-Objekt, das dem übergebenen Schlüssel entspricht, None bei
        nicht vorhandenem DB-Tupel.
        """
        result = None

        cursor = self._cnx.cursor()
        command = "SELECT * FROM module WHERE id={}".format(id)
        cursor.execute(command)
        tuples = cursor.fetchall()

        if tuples[0] is not None:
            (id, creation_time, name, edv_nr) = tuples[0]
            module = Module()
            module.set_id(id)
            module.set_creation_time(creation_time)
            module.set_name(name)
            module.set_edv_nr(edv_nr)
            result = module

        self._cnx.commit()
        cursor.close()

        return result
    def find_by_name(self, name):
        """Auslesen aller Benutzer anhand des Benutzernamens.
        :param name Name der zugehörigen Benutzer.
        :return Eine Sammlung mit User-Objekten, die sämtliche Benutzer
                mit dem gewünschten Namen enthält."""

        result = []
        cursor = self._cnx.cursor()
        command = "SELECT *  FROM module WHERE name LIKE '{}' ORDER BY name".format(
            name)
        cursor.execute(command)
        tuples = cursor.fetchall()

        for (id, creation_time, name, edv_nr) in tuples:
            module = Module()
            module.set_id(id)
            module.set_creation_time(creation_time)
            module.set_name(name)
            module.set_edv_nr(edv_nr)
            result.append(module)

        self._cnx.commit()
        cursor.close()

        return result
    def create_module(self, id, creation_time, name, edv_nr):
        """Ein Modul anlegen"""
        module = Module()
        module.set_name(name)
        module.set_edv_nr(edv_nr)
        module.set_id(id)
        module.set_creation_time(creation_time)
        module.set_id(1)

        with ModuleMapper() as mapper:
            return mapper.insert(module)
    def find_by_edv_nr(self, edv_nr):

        result = []
        cursor = self._cnx.cursor()
        command = "SELECT * FROM module WHERE name LIKE '{}' ORDER BY edv_nr".format(
            edv_nr)
        cursor.execute(command)
        tuples = cursor.fetchall()

        for (id, creation_time, name, edv_nr) in tuples:
            module = Module()
            module.set_id(id)
            module.set_creation_time(creation_time)
            module.set_name(name)
            module.set_edv_nr(edv_nr)
            result.append(module)

        self._cnx.commit()
        cursor.close()

        return result
    def find_all(self):
        """Auslesen aller Module.

        :return Eine Sammlung mit Modul-Objekten,

        """
        result = []
        cursor = self._cnx.cursor()
        cursor.execute("SELECT *  from module")
        tuples = cursor.fetchall()

        for (id, creation_time, name, edv_nr) in tuples:
            module = Module()
            module.set_id(id)
            module.set_creation_time(creation_time)
            module.set_name(name)
            module.set_edv_nr(edv_nr)
            result.append(module)

        self._cnx.commit()
        cursor.close()

        return result