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.")
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
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