Bugfix/42 umlaute sonderzeichen #58

Merged
Daniel merged 3 commits from bugfix/42-umlaute-sonderzeichen into unstable 2026-09-15 06:00:10 +00:00
Member

Was

Fehlende Umlaute/ß in Bezeichner-Bereinigung, Drucklayout-Hinweisen, Labels und Docstrings behoben.
Issue: #42

Wie geprüft

  • python scripts/run_tests.py sn_basis --baseline: 88/89 bestanden, 0 Fehlschläge, 1 Fehler.
    Der eine Fehler (test_datagrabber, ModuleNotFoundError: openpyxl) ist unabhängig von dieser Änderung
    (betrifft DataGrabber/excel_importer) und laut Daniel durch eine geplante Funktionsänderung ohnehin obsolet.
    Die 7 neuen Tests aus diesem PR sind isoliert geprüft: 7/7 grün.
  • python scripts/pruefe_umlaute.py Basis: GRÜN, 0 Funde (vorher 19 Funde in diesem Repo).
  • QGIS-Test: nicht nötig, reine Text-/Datenverarbeitung, durch Unit-Tests abgedeckt.

Änderungen an Verträgen

keine – neue interne Hilfsfunktion (sanitize_bezeichner), keine bestehende öffentliche Signatur geändert.

Übergabenotiz

Aufgabe: Plugin_SN_Basis #42 – Umlaute und Sonderzeichen ermöglichen, plus gezielte Nachsuche nach
weiteren ASCII-statt-Umlaut-Stellen
Stand: fertig
Geändert:

  • functions/text_wrapper.py (neu): sanitize_bezeichner() zentral für alle Aufrufer
  • functions/__init__.py: Export ergänzt
  • modules/Datenschreiber.py: eigenes Regex durch sanitize_bezeichner() ersetzt, Bindestrich damit erhalten
  • tests/test_text_wrapper.py (neu): 7 Tests, deutsche Docstrings
  • ui/tabs/print_tab.py, modules/print_logic.py, modules/print_layout.py,
    modules/print_layout_baufreigabe.py: ~28 Stellen mit ASCII-Ersatzschreibweise korrigiert
    (MessageBox-/Label-Texte, Docstrings, Kommentare) – gefunden per manueller Suche und dem neuen
    scripts/pruefe_umlaute.py
  • changelog.txt: Eintrag ergänzt
    Nachweis: siehe „Wie geprüft"
    Entscheidungen/Annahmen: Interne Bezeichner (aktion-Codes wie datei_existiert_ueberschreiben,
    Projektvariablen-Keys, Item-IDs in Drucklayouts) bewusst unverändert gelassen – Umbenennung wäre ein Breaking
    Change am Log-/Vergleichsformat und außerhalb des Ticket-Scopes.
    Offen / nächste Schritte: keine.
    Wissensbasis: siehe Projektwissen-PR (Fallstricke-Eintrag + scripts/pruefe_umlaute.py).
    Kontext für die nächste Sitzung: functions/text_wrapper.py, modules/print_logic.py

Checkliste

  • Nur Änderungen zum Issue
  • Keine direkten Qt/QGIS-Importe, keine Debug-print
  • changelog.txt ergänzt
  • Wissensbasis nachgezogen (siehe Projektwissen-PR)
## Was Fehlende Umlaute/ß in Bezeichner-Bereinigung, Drucklayout-Hinweisen, Labels und Docstrings behoben. Issue: #42 ## Wie geprüft - `python scripts/run_tests.py sn_basis --baseline`: 88/89 bestanden, 0 Fehlschläge, 1 Fehler. Der eine Fehler (`test_datagrabber`, `ModuleNotFoundError: openpyxl`) ist unabhängig von dieser Änderung (betrifft `DataGrabber`/`excel_importer`) und laut Daniel durch eine geplante Funktionsänderung ohnehin obsolet. Die 7 neuen Tests aus diesem PR sind isoliert geprüft: 7/7 grün. - `python scripts/pruefe_umlaute.py Basis`: GRÜN, 0 Funde (vorher 19 Funde in diesem Repo). - QGIS-Test: nicht nötig, reine Text-/Datenverarbeitung, durch Unit-Tests abgedeckt. ## Änderungen an Verträgen keine – neue interne Hilfsfunktion (`sanitize_bezeichner`), keine bestehende öffentliche Signatur geändert. ## Übergabenotiz **Aufgabe:** Plugin_SN_Basis #42 – Umlaute und Sonderzeichen ermöglichen, plus gezielte Nachsuche nach weiteren ASCII-statt-Umlaut-Stellen **Stand:** fertig **Geändert:** - `functions/text_wrapper.py` (neu): `sanitize_bezeichner()` zentral für alle Aufrufer - `functions/__init__.py`: Export ergänzt - `modules/Datenschreiber.py`: eigenes Regex durch `sanitize_bezeichner()` ersetzt, Bindestrich damit erhalten - `tests/test_text_wrapper.py` (neu): 7 Tests, deutsche Docstrings - `ui/tabs/print_tab.py`, `modules/print_logic.py`, `modules/print_layout.py`, `modules/print_layout_baufreigabe.py`: ~28 Stellen mit ASCII-Ersatzschreibweise korrigiert (MessageBox-/Label-Texte, Docstrings, Kommentare) – gefunden per manueller Suche und dem neuen `scripts/pruefe_umlaute.py` - `changelog.txt`: Eintrag ergänzt **Nachweis:** siehe „Wie geprüft" **Entscheidungen/Annahmen:** Interne Bezeichner (`aktion`-Codes wie `datei_existiert_ueberschreiben`, Projektvariablen-Keys, Item-IDs in Drucklayouts) bewusst unverändert gelassen – Umbenennung wäre ein Breaking Change am Log-/Vergleichsformat und außerhalb des Ticket-Scopes. **Offen / nächste Schritte:** keine. **Wissensbasis:** siehe Projektwissen-PR (Fallstricke-Eintrag + `scripts/pruefe_umlaute.py`). **Kontext für die nächste Sitzung:** `functions/text_wrapper.py`, `modules/print_logic.py` ## Checkliste - [x] Nur Änderungen zum Issue - [x] Keine direkten Qt/QGIS-Importe, keine Debug-`print` - [x] `changelog.txt` ergänzt - [x] Wissensbasis nachgezogen (siehe Projektwissen-PR)
Daniel added 3 commits 2026-09-14 10:32:17 +00:00
Regex zur Bezeichner-Bereinigung aus Datenschreiber.py in
functions/text_wrapper.py (sanitize_bezeichner) ausgelagert und um
Bindestrich ergänzt, der bisher fehlte. Neue Tests decken Umlaute, ß,
Unterstrich, Bindestrich, eigenes Ersatzzeichen und Leerfälle ab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MneDjzrjmbpQt8udFYxN9e
Weitere Fundstellen aus der gezielten Umlaut-Pruefung: MessageBox-/Label-Texte
in print_logic.py, print_layout.py, print_layout_baufreigabe.py und
print_tab.py, die wortwoertlich als ASCII generiert wurden ('gueltig',
'verfuegbar', 'waehlen', 'Massstab' als Anzeigetext, 'Geprueft: '-Label).
Interne Bezeichner (aktion-Codes, Projektvariablen-Keys, Item-IDs) bewusst
unveraendert gelassen, um bestehende Log-/Vergleichslogik nicht zu brechen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MneDjzrjmbpQt8udFYxN9e
Gefunden ueber das neue Skript scripts/pruefe_umlaute.py, das genau dieses
Muster (ASCII-Ersatzschreibweise statt Umlaut in String-Inhalten und
Kommentaren mit Leerzeichen) erkennt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MneDjzrjmbpQt8udFYxN9e
Daniel merged commit ff5ed5d7f5 into unstable 2026-09-15 06:00:10 +00:00
Daniel deleted branch bugfix/42-umlaute-sonderzeichen 2026-09-15 06:00:10 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AG_QGIS/Plugin_SN_Basis#58