From 1a5334210bf7b9f73aae287e57c0e4c89d05d8da Mon Sep 17 00:00:00 2001 From: Floke Date: Mon, 26 May 2025 19:34:53 +0000 Subject: [PATCH] bugfix --- list_generator.py | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/list_generator.py b/list_generator.py index d7fd1ee4e..88927aff9 100644 --- a/list_generator.py +++ b/list_generator.py @@ -129,43 +129,42 @@ def create_and_fill_doc(docs_service, drive_service, folder_id, doc_title): current_doc_index += len(header_text) # --- B. Tabelle erstellen (leer) --- - num_rows = len(kinder_liste) + 1 # +1 für Kopfzeile + num_rows_for_test = 1 # NUR EINE ZEILE FÜR DEN TEST (Kopfzeile) num_cols = 3 - # Die Tabelle wird an current_doc_index eingefügt. table_start_index = current_doc_index requests.append({ 'insertTable': { 'location': {'index': table_start_index}, - 'rows': num_rows, + 'rows': num_rows_for_test, # Nur eine Zeile 'columns': num_cols } }) - # --- C. Tabelleninhalt einfügen --- - # Die Tabelle wurde an `table_start_index` (Index 71) eingefügt. - # VERSUCH: Füge den Text für die Zellen an GENAU DEMSELBEN Index ein, - # an dem die Tabelle erstellt wurde. Die Hoffnung ist, dass die API - # dies als "Text für die gerade erstellte Tabelle" interpretiert. - table_content_start_index = table_start_index # <<-- GEÄNDERT! + # --- C. NUR KOPFZEILE einfügen --- + # Wir versuchen wieder verschiedene Offsets, aber nur für EINE Zeile Text. + # OFFSET-TEST: + # 1. table_start_index + 1 + # 2. table_start_index + 2 + # 3. table_start_index + 3 (unwahrscheinlich, aber zum Testen) + # 4. table_start_index + 4 (noch unwahrscheinlicher) - # Erstelle den gesamten Text für die Tabelle - table_lines = [] - table_lines.append("Nachname\tVorname\tGruppe") # Kopfzeile - # ... (Rest der Tabelleninhalts-Erstellung bleibt gleich) ... - for kind in kinder_liste: - table_lines.append(f"{kind['Nachname']}\t{kind['Vorname']}\t{gruppe_display_name}") - full_table_text_for_cells = "\n".join(table_lines) + "\n" + # BEGINNEN WIR MIT OFFSET +4, da die Struktur komplexer sein könnte als gedacht + # (TableStart, RowStart, CellStart, ParagraphStart?) + content_insertion_index_for_test = table_start_index + 4 # TESTWERT! + + kopfzeilen_text = "Nachname\tVorname\tGruppe\n" # Nur die Kopfzeile, mit Tabs und Newline am Ende requests.append({ 'insertText': { - 'location': {'index': table_content_start_index}, # Verwendet jetzt denselben Index wie insertTable - 'text': full_table_text_for_cells + 'location': {'index': content_insertion_index_for_test}, + 'text': kopfzeilen_text } }) + # --- D. Index aktualisieren und Footer --- # Den Index nach einer Tabelle korrekt weiterzuführen ist der schwierigste Teil. # Die Tabelle selbst (Struktur) plus ihr Inhalt haben eine bestimmte Länge.