From 87f8150bd394d5cb8af1d36759ea757fde35f074 Mon Sep 17 00:00:00 2001 From: Rob Date: Tue, 30 Jun 2026 09:50:34 +0200 Subject: [PATCH] empty tasks --- .copilot/TASKS.md | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) diff --git a/.copilot/TASKS.md b/.copilot/TASKS.md index f2625b7..8b13789 100644 --- a/.copilot/TASKS.md +++ b/.copilot/TASKS.md @@ -1,47 +1 @@ -# Aufgaben: Tätigkeitsnachweis-Generator (Streamlit App) – PDF-Migration -> **Migration**: Das XLSX-Template war schreibgeschützt und wurde durch ein PDF-Template ersetzt. -> Alle `_Field`-Platzhalter im PDF werden durch echte Daten ersetzt. - -## 🔄 Migration: XLSX → PDF Template ✅ - -- [x] **M1**: `requirements.txt` → `PyMuPDF` hinzufügen -- [x] **M2**: `config/settings.ini` → `filename_pattern` auf `.pdf`-Endung ändern -- [x] **M3**: `config/output-fields.json` → `target_cell` entfernen, `pdf_field` hinzufügen (Mapping source_field → PDF-Platzhalter-Name) -- [x] **M4**: `src/config.py` → `get_available_templates()` auf `.pdf`-Dateien umstellen -- [x] **M5**: `src/validator.py` → `validate_template()` für PDF angepasst (prüft `_Field`-Platzhalter via PyMuPDF) -- [x] **M6**: `src/writer.py` → Komplett neu: PDF-basierte Generierung mit PyMuPDF - - Pre-Scan: Alle `_Field`-Platzhalter im Template-PDF finden (Position, Schriftgröße) - - Für jeden Mitarbeiter: neues PDF, pro Monat eine Seite (Template-Kopie), `_Field`-Texte redacten + ersetzen - - Dateiname: `{nachname}_{vorname}_Tätigkeitsnachweis.pdf` -- [x] **M7**: `app.py` → Template-Validierung für PDF angepasst (Dropdown zeigt `.pdf`, Validierung prüft `_Field`-Marker) -- [x] **M8**: `coldrun.py` → An PDF-Template angepasst -- [x] **M9**: `tests/test_e2e.py` → Tests für PDF-Output umgeschrieben (PyMuPDF statt openpyxl zur Output-Validierung) -- [x] **M10**: `.copilot/PLAN.md` und `.copilot/TASKS.md` aktualisiert - -## 🔍 Analyse (abgeschlossen) -- [x] **A1**: Input-Datei `input/2025 JM.xlsx` analysiert -- [x] **A2**: PDF-Template `template/Tätigkeitsnachweise Stellenförderung.pdf` liegt vor (mit `_Field`-Platzhaltern) - -## ⚙️ Konfiguration (migriert) -- [x] **K1**: `config/input-fields.json` — unverändert gültig -- [x] **K2**: `config/output-fields.json` — `target_cell` entfernt, `pdf_field` hinzugefügt -- [x] **K3**: `config/settings.ini` — filename_pattern auf `.pdf` - -## 🧱 Core-Module -- [x] **C1**: `requirements.txt` — streamlit, openpyxl, PyMuPDF -- [x] **C2**: `src/__init__.py` + `src/models.py` — `OutputMapping` um `pdf_field` erweitert -- [x] **C3**: `src/config.py` — Template-Suche auf `.pdf` umgestellt -- [x] **C4**: `src/parser.py` — unverändert -- [x] **C5**: `src/validator.py` — `validate_template()` für PDF via PyMuPDF -- [x] **C6**: `src/writer.py` — Komplett neu mit PyMuPDF (redact + insert_text) - -## 🖥️ UI & Start -- [x] **U1**: `app.py` — PDF-Template-Validierung angepasst -- [x] **U2**: `start.bat` — unverändert -- [x] **U3**: `coldrun.py` — An PDF angepasst, funktioniert -- [x] **U4**: `README.md` — vorhanden - -## ✅ Test -- [x] **T1**: E2E-Test mit realer Input-Datei und PDF-Template → 5/5 Tests bestanden -- [x] **T2**: Edge Cases — Umlaute korrekt im PDF, fehlende Marker (Ort/Datum) werden übersprungen