Testkatalog-Klassifizierung in Docstrings festgehalten

43 als "vernachlässigbar" eingestufte Funktionen (dialog_wrapper.py,
message_wrapper.py, os_wrapper.py, qgisui_wrapper.py, qt_wrapper.py,
DataGrabber.py, LayerLoader.py, Pruefmanager.py, navigation.py,
print_tab.py) tragen jetzt den Vermerk "von Test abgesehen, weil
vernachlässigbar; HD 18.09.2026". Fehlalarme der Testkatalog-Heuristik
(Dateipruefer._ist_leer/_handle_leere_eingabe, linkpruefer.py komplett,
Pruefmanager._handle_datei_existiert) und der als Bug erfasste tote Code
(Pruefmanager._ask_use_or_replace_pufferlayer, #60) bleiben unangetastet.

41 Funktionen im zur Grundüberarbeitung anstehenden Print-Bereich
(print_logic.py, print_layout.py, print_layout_baufreigabe.py) tragen den
Vermerk "Test ausgesetzt, zunächst Refactor".

Reine Dokumentationsänderung, kein Verhalten geändert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-18 11:51:57 +02:00
co-authored by Claude Sonnet 5
parent 0dd64cbe2e
commit 36e4780b9f
14 changed files with 127 additions and 11 deletions
+32 -1
View File
@@ -121,9 +121,11 @@ class PrintLogic:
self._previous_map_tool: Any | None = None
def _failed_result(self) -> dict:
"""Test ausgesetzt, zunächst Refactor"""
return {"ok": False, "switch_to_tab_a": False, "atlas_seiten": 0}
def _show_target_size_too_small(self) -> dict:
"""Test ausgesetzt, zunächst Refactor"""
self.pruefmanager.zeige_hinweis(
"Zielgröße zu klein",
"Die gewählte Zielgröße reicht für den Einzelblatt-Druck nicht aus.",
@@ -131,11 +133,13 @@ class PrintLogic:
return self._failed_result()
def _is_enabled_flag(self, raw_value: Any) -> bool:
"""Test ausgesetzt, zunächst Refactor"""
if raw_value in (None, ""):
return True
return str(raw_value).strip().lower() in {"1", "true", "ja", "yes", "on"}
def _resolve_layer_from_project(self) -> object | None:
"""Test ausgesetzt, zunächst Refactor"""
project = QgsProject.instance()
# Primär: neue zentrale Variable aus sn_verfahrensgebiet_manager
layer_id = (get_variable("verfahrensgebiet_layer", scope="project") or "").strip()
@@ -156,6 +160,7 @@ class PrintLogic:
return None
def _resolve_active_layer(self) -> object | None:
"""Test ausgesetzt, zunächst Refactor"""
active_layer_fn = getattr(iface, "activeLayer", None)
if not callable(active_layer_fn):
return None
@@ -165,6 +170,7 @@ class PrintLogic:
return None
def _get_druckpuffer_cm(self) -> int:
"""Test ausgesetzt, zunächst Refactor"""
raw_value = get_variable(DRUCKPUFFER_VAR, scope="project")
try:
value = int(str(raw_value).strip())
@@ -173,9 +179,11 @@ class PrintLogic:
return max(0, value)
def _get_druckpuffer_m(self, plotmassstab: float) -> float:
"""Test ausgesetzt, zunächst Refactor"""
return (self._get_druckpuffer_cm() * 10.0 * plotmassstab) / 1000.0
def _import_qgis_symbol(self, module_name: str, symbol_name: str) -> Any | None:
"""Test ausgesetzt, zunächst Refactor"""
try:
module = importlib.import_module(module_name)
except Exception:
@@ -183,6 +191,7 @@ class PrintLogic:
return getattr(module, symbol_name, None)
def _build_rectangle(self, x_min: float, y_min: float, x_max: float, y_max: float) -> Any | None:
"""Test ausgesetzt, zunächst Refactor"""
qgs_rectangle = self._import_qgis_symbol("qgis.core", "QgsRectangle")
if qgs_rectangle is None:
return None
@@ -192,6 +201,7 @@ class PrintLogic:
return None
def _clone_extent(self, extent: Any) -> Any | None:
"""Test ausgesetzt, zunächst Refactor"""
if extent is None:
return None
@@ -258,6 +268,7 @@ class PrintLogic:
return expanded or extent
def _get_existing_layer_by_name(self, layer_name: str) -> object | None:
"""Test ausgesetzt, zunächst Refactor"""
project = QgsProject.instance()
map_layers_by_name = getattr(project, "mapLayersByName", None)
if not callable(map_layers_by_name):
@@ -271,6 +282,7 @@ class PrintLogic:
return matches[0]
def _create_druckrechteck_layer(self, reference_layer: object | None) -> object | None:
"""Test ausgesetzt, zunächst Refactor"""
existing_layer = self._get_existing_layer_by_name(DRUCKRECHTECK_LAYER_NAME)
if existing_layer is not None:
return existing_layer
@@ -299,6 +311,7 @@ class PrintLogic:
return layer
def _clear_layer_features(self, layer: object) -> None:
"""Test ausgesetzt, zunächst Refactor"""
get_features = getattr(layer, "getFeatures", None)
data_provider = getattr(layer, "dataProvider", lambda: None)()
if not callable(get_features) or data_provider is None:
@@ -330,6 +343,8 @@ class PrintLogic:
Returns:
(created_layer, layer_id) oder (None, "") bei Fehler
Test ausgesetzt, zunächst Refactor
"""
# Source-Layer bestimmen
if source_layer is None:
@@ -475,6 +490,8 @@ class PrintLogic:
Wird nach erfolgreicher Baufreigabe-Layout-Erstellung aufgerufen.
Setzt den Coverage-Layer (aus sn_abdeckungslayer Variable) und konfiguriert den Atlas
mit allen Optionen aus der AtlasConfig.
Test ausgesetzt, zunächst Refactor
"""
try:
if atlas_config is None:
@@ -612,6 +629,7 @@ class PrintLogic:
return False
def _store_druckrechteck(self, layer: object, rectangle: Any) -> bool:
"""Test ausgesetzt, zunächst Refactor"""
qgs_feature = self._import_qgis_symbol("qgis.core", "QgsFeature")
qgs_geometry = self._import_qgis_symbol("qgis.core", "QgsGeometry")
if qgs_feature is None or qgs_geometry is None:
@@ -660,6 +678,7 @@ class PrintLogic:
return True
def activate_druckrechteck_capture(self, reference_layer: object | None = None) -> bool:
"""Test ausgesetzt, zunächst Refactor"""
layer = self._create_druckrechteck_layer(reference_layer)
if layer is None:
self.pruefmanager.zeige_hinweis(
@@ -790,6 +809,7 @@ class PrintLogic:
return True
def _resolve_selection_layer(self, fallback_layer: object | None) -> object | None:
"""Test ausgesetzt, zunächst Refactor"""
active_layer = self._resolve_active_layer()
if active_layer is not None:
selected_count = getattr(active_layer, "selectedFeatureCount", None)
@@ -803,6 +823,7 @@ class PrintLogic:
return fallback_layer
def _get_selected_extent(self, layer: object | None) -> Any | None:
"""Test ausgesetzt, zunächst Refactor"""
if layer is None:
return None
@@ -959,10 +980,12 @@ class PrintLogic:
return self._buffer_extent(extent, plotmassstab), resolved_layer
def set_kartenname_for_auswahl(self, auswahl: str) -> None:
"""Test ausgesetzt, zunächst Refactor"""
kartenname = KARTENNAME_BY_AUSWAHL.get(auswahl, "")
set_variable(KARTENNAME_VAR, kartenname, scope="project")
def set_plotmassstab_for_auswahl(self, auswahl: str, aktueller_massstab: float | None = None) -> None:
"""Test ausgesetzt, zunächst Refactor"""
if auswahl == MASSSTAB_WIE_KARTENFENSTER:
if aktueller_massstab and aktueller_massstab > 0:
set_variable(PLOTMASSSTAB_VAR, str(int(round(aktueller_massstab))), scope="project")
@@ -974,15 +997,18 @@ class PrintLogic:
set_variable(PLOTMASSSTAB_VAR, value, scope="project")
def set_view_for_auswahl(self, auswahl: str) -> None:
"""Test ausgesetzt, zunächst Refactor"""
if auswahl == THEMA_WIE_KARTENFENSTER:
set_variable(VIEW_VAR, "aktuell", scope="project")
return
set_variable(VIEW_VAR, auswahl or "", scope="project")
def set_zielgroesse_for_auswahl(self, auswahl: str) -> None:
"""Test ausgesetzt, zunächst Refactor"""
set_variable(ZIELGROESSE_VAR, auswahl if auswahl in DIN_GROESSEN else DIN_STANDARD, scope="project")
def set_formfaktor(self, endlosrolle: bool) -> None:
"""Test ausgesetzt, zunächst Refactor"""
set_variable(FORMFAKTOR_VAR, "Endlosrolle" if endlosrolle else "Blatt", scope="project")
def set_druckbereich_for_auswahl(self, auswahl: str) -> None:
@@ -1056,10 +1082,14 @@ class PrintLogic:
fixed_width_mm: float,
fixed_height_mm: float,
) -> tuple[float, float]:
"""Test ausgesetzt, zunächst Refactor"""
return map_width_mm + fixed_width_mm, map_height_mm + fixed_height_mm
def _get_required_map_dimensions_mm(self, extent: Any, plotmassstab: float) -> tuple[float, float]:
"""Berechnet die benötigte Kartenfenstergröße in mm für Extent und Maßstab."""
"""Berechnet die benötigte Kartenfenstergröße in mm für Extent und Maßstab.
Test ausgesetzt, zunächst Refactor
"""
if extent is None or not isinstance(plotmassstab, (int, float)) or plotmassstab <= 0:
return 0.0, 0.0
@@ -1167,6 +1197,7 @@ class PrintLogic:
formfaktor: bool,
druckbereich_auswahl: str,
) -> dict:
"""Test ausgesetzt, zunächst Refactor"""
resolved_layer = layer or self._resolve_layer_from_project()
if kartenname_auswahl not in (KARTENNAME_38, KARTENNAME_41, KARTENNAME_BAUFREIGABE):