Umlaute/Sonderzeichen in Bezeichnern zentral behandeln (#42)

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
This commit is contained in:
2026-09-14 11:09:41 +02:00
co-authored by Claude Sonnet 5
parent 7755e3e8cb
commit a754fcfe34
5 changed files with 75 additions and 2 deletions
+2 -2
View File
@@ -30,13 +30,13 @@ from __future__ import annotations
from typing import Any, Dict, List, Optional
import os
import json
import re
import datetime
import sqlite3
from sn_basis.functions import qgiscore_wrapper as qgiscore
from sn_basis.functions.os_wrapper import normalize_path, is_absolute_path
from sn_basis.functions.sys_wrapper import get_plugin_root, join_path, file_exists
from sn_basis.functions.text_wrapper import sanitize_bezeichner
from sn_basis.modules.pruef_ergebnis import pruef_ergebnis
@@ -209,7 +209,7 @@ class Datenschreiber:
continue
layer_name_raw = thema or str(ident)
layer_name = re.sub(r"[^A-Za-z0-9_ÄäÖöÜüß]+", "_", layer_name_raw).strip("_")
layer_name = sanitize_bezeichner(layer_name_raw)
if not layer_name:
layer_name = f"layer_{ident}"