Wrappe modular aufgebaut, Tests erfolgreich, Menüleiste und Werzeugleiste werden eingetragen (QT6 und QT5)- (Es fehlen noch Fachplugins, um zu prüfen, ob es auch wirklich in QGIS geht)

This commit is contained in:
2025-12-19 14:29:52 +01:00
parent e8fea163b5
commit f88b5da51f
37 changed files with 1886 additions and 1679 deletions

View File

@@ -1,9 +1,9 @@
"""
sn_basis/modules/layerpruefer.py Prüfung von QGIS-Layern.
Verwendet ausschließlich qgisqt_wrapper und gibt pruef_ergebnis zurück.
Verwendet ausschließlich Wrapper und gibt pruef_ergebnis zurück.
"""
from sn_basis.functions.qgisqt_wrapper import (
from sn_basis.functions import (
layer_exists,
get_layer_geometry_type,
get_layer_feature_count,
@@ -15,7 +15,7 @@ from sn_basis.functions.qgisqt_wrapper import (
is_layer_editable,
)
from sn_basis.modules.pruef_ergebnis import pruef_ergebnis
from sn_basis.modules.pruef_ergebnis import pruef_ergebnis, PruefAktion
class Layerpruefer:
@@ -57,8 +57,8 @@ class Layerpruefer:
return pruef_ergebnis(
ok=False,
meldung="Der Layer existiert nicht oder wurde nicht geladen.",
aktion="layer_nicht_gefunden", # type: ignore
pfad=None,
aktion="layer_nicht_gefunden",
kontext=None,
)
# -----------------------------------------------------
@@ -69,8 +69,8 @@ class Layerpruefer:
return pruef_ergebnis(
ok=False,
meldung="Der Layer ist unsichtbar. Soll er eingeblendet werden?",
aktion="layer_unsichtbar", # type: ignore
pfad=self.layer, # Layerobjekt wird übergeben
aktion="layer_unsichtbar",
kontext=self.layer, # Layerobjekt als Kontext
)
# -----------------------------------------------------
@@ -80,9 +80,12 @@ class Layerpruefer:
if self.erwarteter_layertyp and layertyp != self.erwarteter_layertyp:
return pruef_ergebnis(
ok=False,
meldung=f"Der Layer hat den Typ '{layertyp}', erwartet wurde '{self.erwarteter_layertyp}'.",
meldung=(
f"Der Layer hat den Typ '{layertyp}', "
f"erwartet wurde '{self.erwarteter_layertyp}'."
),
aktion="falscher_layertyp",
pfad=None,
kontext=None,
)
# -----------------------------------------------------
@@ -92,9 +95,12 @@ class Layerpruefer:
if self.erwarteter_geotyp and geotyp != self.erwarteter_geotyp:
return pruef_ergebnis(
ok=False,
meldung=f"Der Layer hat den Geometrietyp '{geotyp}', erwartet wurde '{self.erwarteter_geotyp}'.",
meldung=(
f"Der Layer hat den Geometrietyp '{geotyp}', "
f"erwartet wurde '{self.erwarteter_geotyp}'."
),
aktion="falscher_geotyp",
pfad=None,
kontext=None,
)
# -----------------------------------------------------
@@ -106,7 +112,7 @@ class Layerpruefer:
ok=False,
meldung="Der Layer enthält keine Objekte.",
aktion="layer_leer",
pfad=None,
kontext=None,
)
# -----------------------------------------------------
@@ -116,9 +122,12 @@ class Layerpruefer:
if self.erwartetes_crs and crs != self.erwartetes_crs:
return pruef_ergebnis(
ok=False,
meldung=f"Der Layer hat das CRS '{crs}', erwartet wurde '{self.erwartetes_crs}'.",
meldung=(
f"Der Layer hat das CRS '{crs}', "
f"erwartet wurde '{self.erwartetes_crs}'."
),
aktion="falsches_crs",
pfad=None,
kontext=None,
)
# -----------------------------------------------------
@@ -130,9 +139,12 @@ class Layerpruefer:
if fehlende:
return pruef_ergebnis(
ok=False,
meldung=f"Der Layer enthält nicht alle erforderlichen Felder: {', '.join(fehlende)}",
meldung=(
"Der Layer enthält nicht alle erforderlichen Felder: "
+ ", ".join(fehlende)
),
aktion="felder_fehlen",
pfad=None,
kontext=None,
)
# -----------------------------------------------------
@@ -144,7 +156,7 @@ class Layerpruefer:
ok=False,
meldung=f"Die Datenquelle '{quelle}' ist nicht erlaubt.",
aktion="datenquelle_unerwartet",
pfad=None,
kontext=None,
)
# -----------------------------------------------------
@@ -156,7 +168,7 @@ class Layerpruefer:
ok=False,
meldung="Der Layer ist nicht editierbar.",
aktion="layer_nicht_editierbar",
pfad=None,
kontext=None,
)
# -----------------------------------------------------
@@ -166,5 +178,5 @@ class Layerpruefer:
ok=True,
meldung="Layerprüfung erfolgreich.",
aktion="ok",
pfad=None,
kontext=None,
)