def read_sclasses(self, database: Database):
        """Auslesen der Wertungsklassen in die Datenbank

        Args:
            database (Database): Datenbank
        """
        try:
            self.set_worksheet(SCLASS_WORKSHEET)
            reader = TableReader(self, SCLASS_HEADER, SCLASS_COLUMNS, SCLASS_REQUIRED)
            database.clear_sclasses()
            reader.read(lambda row, row_data: database.append_sclass(row_data))
        except:
            logging.exception("Fehler beim Lesen der Wertungsklassen aus der Einstellungsdatei.")
    def read_stations(self, database: Database):
        """Auslesen der Stationen in die Datenbanl

        Args:
            database (Database): Datenbank
        """
        try:
            self.set_worksheet(STATION_WORKSHEET)
            reader = TableReader(self, STATION_HEADER, STATION_COLUMNS, STATION_REQUIRED)
            database.clear_stations()
            reader.read(lambda row, row_data: database.append_station(row_data))
        except:
            logging.exception("Fehler beim Lesen der Stationen aus der Einstellungsdatei.")
    def read_groups(self, database: Database):
        """Auslesen der Gruppen in die Datenabk

        Args:
            database (Database): Datenbank
        """
        try:
            self.set_worksheet(GROUP_WORKSHEET)
            reader = TableReader(self, GROUP_HEADER, GROUP_COLUMNS, GROUP_REQUIRED)
            database.clear_groups()
            reader.read(lambda row, row_data: database.append_group(row_data))
        except:
            logging.exception("Fehler beim Lesen der Gruppen aus der Einstellungsdatei.")
Exemplo n.º 4
0
    def write(self, folder=None, filename=None) -> bool:
        """Schreiben der Tabelle

        Args:
            folder (str, optional): Ordner. Defaults to None.
            filename (str, optional): Dateiname. Defaults to None.

        Returns:
            bool: True, wenn erfolgreich
        """
        generated_filename = self.settings["values_output"] % {
            "station": self.station[STATION_SHORT], "riege": self.group[GROUP_NAME]}
        filename = filename or generated_filename

        try:
            self.table_reader = TableReader.from_settings(self, self.settings, "values")
            self.__create_worksheet()

            # Löschen aller anderen Arbeitsblätter
            for station in self.database.get_stations():
                if station[STATION_SHORT] in self.workbook.sheetnames:
                    self.remove_worksheet(station[STATION_SHORT])

            return Table.write(self, folder, filename)
        except:
            logging.exception("Wertetabelle %s konnte nicht erstellt werden.", filename)
            return False
    def write(self, folder=None, filename=None) -> bool:
        """Schreiben der Tabelle

        Args:
            folder (str, optional): Ordner. Defaults to None.
            filename (str, optional): Dateiname. Defaults to None.

        Returns:
            bool: True, wenn erfolgreich
        """
        generated_filename = self.settings["scoring_output"] % {
            "time": time.strftime("%H%M")
        }
        filename = filename or generated_filename

        try:
            self.table_reader = TableReader.from_settings(
                self, self.settings, "scoring")
            for sclass in self.database.get_sclasses():
                self.__fill_worksheet(sclass)

                if self.progress:
                    self.progress.inc_value()

            return Table.write(self, folder, filename)
        except:
            logging.exception("Fehler beim Erstellen der Auswertung.")
            return False
    def write(self, folder=None, filename=None) -> bool:
        """Schreiben der Tabelle

        Args:
            folder (str, optional): Ordner. Defaults to None.
            filename (str, optional): Dateiname. Defaults to None.

        Returns:
            bool: True, wenn erfolgreich
        """
        filename = filename or self.settings["stations_output"]

        try:
            self.table_reader = TableReader.from_settings(self, self.settings, "groups")
            for station in self.database.get_stations():
                for group in self.database.get_groups():
                    self.__create_worksheet(station, group)

                    if self.progress:
                        self.progress.inc_value()

            for station in self.database.get_stations():
                self.remove_worksheet(station[STATION_SHORT])
                if self.progress:
                    self.progress.inc_value()

            return Table.write(self, folder, filename)
        except:
            logging.exception("Fehler beim Erstellen der Stationsübersicht.")
            return False
    def open(self) -> bool:
        """Öffnen der Tabelle
        Eintragen der Teilnehmer in die Datenbank
        Erstellen der Listen für Alter und Vereine in der Datenbank

        Returns:
            bool: True, wenn das Öffnen und Lesen der Daten erfolgreich war.
        """
        if not Table.open(self):
            return False

        try:
            reader = TableReader.from_settings(self, self.settings, "attendees")

            self.database.clear_attendees()
            reader.read(lambda row, row_data: self.database.append_attendee(row_data))
            self.database.refresh_ages()
            self.database.refresh_clubs()
        except:
            logging.exception("Fehler beim Auslesen der Meldungen.")
            return False
        return True
Exemplo n.º 8
0
    def open(self) -> bool:
        """Öffnen der Tabelle und Auslesen der Werte

        Returns:
            bool: True, wenn erfolgreich
        """
        if not Table.open(self):
            self.status = logging.ERROR
            return False

        try:
            reader = TableReader.from_settings(self, self.settings,
                                               "values_input")
            if not reader.read(self.process_row):
                self.status = logging.ERROR
        except:
            logging.exception(
                "Fehler beim Auslesen der Daten aus der Tabelle %s",
                self.filename)
            self.status = logging.ERROR
            return False
        return True
    def write(self, folder=None, filename=None) -> bool:
        """Schreiben der Tabelle

        Args:
            folder (str, optional): Ordner. Defaults to None.
            filename (str, optional): Dateiname. Defaults to None.

        Returns:
            bool: True, wenn erfolgreich
        """
        filename = filename or self.settings["clubs_output"]

        try:
            self.table_reader = TableReader.from_settings(
                self, self.settings, "clubs")
            for club in self.database.get_clubs():
                self.__create_worksheet(club)

            self.remove_worksheet(TEMPLATE_SHEET_NAME)

            return Table.write(self, folder, filename)
        except:
            logging.exception("Fehler beim Erstellen der Vereinsübersicht.")
            return False