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)
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 unstable2026-09-15 06:00:10 +00:00
Daniel
deleted branch bugfix/42-umlaute-sonderzeichen2026-09-15 06:00:10 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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).Ä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 Aufruferfunctions/__init__.py: Export ergänztmodules/Datenschreiber.py: eigenes Regex durchsanitize_bezeichner()ersetzt, Bindestrich damit erhaltentests/test_text_wrapper.py(neu): 7 Tests, deutsche Docstringsui/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.pychangelog.txt: Eintrag ergänztNachweis: siehe „Wie geprüft"
Entscheidungen/Annahmen: Interne Bezeichner (
aktion-Codes wiedatei_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.pyCheckliste
printchangelog.txtergänztWeitere 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