Commit Graph
99 Commits
Author SHA1 Message Date
DanielandClaude Sonnet 5 7ce820581f Tests für restliche priorisierte sn_basis-Funktionen ergänzt (#65)
79 neue Testfälle: Verfahrensgebiet-Zustandsverwaltung (Listener-Setup/
-teardown, Signal-Handler), DockManager/BaseDockWidget, pruef_ergebnis-
Persistenz-Gates, Pruefmanager-Entscheidungswege, restliche Dateipruefer-
Zweige, Fundament-Wrapper (sys_wrapper, ly_existence_wrapper,
ly_style_wrapper.apply_style_from_path, landkreise, message_wrapper,
qgiscore_wrapper.polygon_zu_linie/layer_exists_in_gpkg,
qgisui_wrapper.add_layer_to_project) und SettingsTab.save_data/load_data.

Ausgeklammert: LayerLoader.apply_style/ly_style_wrapper.apply_style
(Bug-Verdacht, hartkodierter Fachplugin-Pfad) und
Pruefmanager._ask_use_or_replace_pufferlayer (bereits als Bug in #60
erfasst: ruft nicht existierendes self.pruefmanager auf).

qt_wrapper._MockQDockWidget um closeEvent() ergänzt (fehlte, ließ jede
BaseDockWidget.closeEvent()-Ausführung im Mock-Modus abstürzen).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 11:20:10 +02:00
Daniel b57a614ec3 Merge pull request 'Tests für die vier Kernmodule der Datenpipeline ergänzt (#63)' (#64) from feature/63-tests-datenpipeline into unstable
Reviewed-on: #64
2026-09-18 08:05:27 +00:00
DanielandClaude Sonnet 5 60d5bd7cb5 Tests für die vier Kernmodule der Datenpipeline ergänzt (#63)
70 neue Testfälle für Datenabruf.py, Datenschreiber.py, LayerLoader.py und
excel_importer.py - die einzigen Module ohne jede Testdatei laut
Testkatalog-Abschnitt "Ungetestete Funktionen". Schwerpunkt: Provider-URL-
Bau (WFS/REST/OGR), Raumfilter, CRS-Transformation, GPKG-Schreib-/Ladepfad
und Excel-Import-Fehlerzweige.

qgiscore_wrapper._MockQgsProject um transformContext() und addMapLayer()
ergänzt - beide fehlten im Mock und ließen die betroffenen Funktionen im
Mock-Modus für jeden gültigen Layer scheitern (siehe fallstricke.md).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:48:31 +02:00
Daniel 1705d5f988 Merge pull request 'get_plugin_root() löst keine Symlinks/Junctions mehr auf (Verfahrensgebiet #50)' (#62) from bugfix/50-get-plugin-root-junction into unstable
Reviewed-on: #62
2026-09-17 14:16:20 +00:00
DanielandClaude Sonnet 5 716820be4c get_plugin_root() löst keine Symlinks/Junctions mehr auf (Verfahrensgebiet #50)
Ursache für "QML-Dateien greifen nicht" (Verfahrensgebiet #50): get_plugin_root()
nutzte Path(__file__).resolve(), was Junctions zum echten Zielverzeichnis
auflöst. link_qgis_profile.py verknüpft die Klone im QGIS-Profil per Junction
unter ihrem Paketnamen (sn_verfahrensgebiet, sn_plan41, ...) - .resolve()
sprang dabei zurück zum Workspace-Root, wo die Klone unter ihrem Repo-Namen
(Plugin_SN_*) liegen. Alle Aufrufer von get_plugin_root() (Stilpruefer,
ly_style_wrapper.apply_style, LayerLoader.apply_style, Datenschreiber,
sn_plan41 vln_api_logic/tab_a_logic) suchten dadurch am falschen Ort.

.absolute() statt .resolve(): __file__ liefert beim Import über die Junction
bereits den korrekten, unaufgelösten Pfad - nichts, was aufgelöst werden
müsste. Für echte ZIP-/Repository-Installationen (kein Symlink im Plugin-
Ordner) ändert sich nichts, da dort nichts aufzulösen ist.

Test test_get_plugin_root_folgt_keiner_verzeichnisverknuepfung legt eine
echte Verzeichnisverknüpfung an (Symlink, unter Windows via Junction wie
link_qgis_profile.py) und zeigt den Fehler vor dem Fix rot, danach grün.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 16:11:58 +02:00
Daniel 30b38b5e9a Merge pull request 'Feature/testdatagrabber docstrings' (#61) from feature/testdatagrabber-docstrings into unstable
Reviewed-on: #61
2026-09-17 13:59:16 +00:00
DanielandClaude Sonnet 5 bfcd8c2777 test_settings_logic: Docstring korrigiert - Fallback lebt in get_variable(), nicht in load()
SettingsLogic.load() reicht get_variable()-Werte unverändert durch, ohne
eigene Fallback-Logik. Der "or \"\""-Fallback für unbekannte Variablen
sitzt in variable_wrapper.get_variable(). Der Test selbst war korrekt,
nur die Docstring hat die Verantwortung falsch zugeordnet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:59:50 +02:00
DanielandClaude Sonnet 5 8c39593239 test_linkpruefer: Testfall für leere Eingabe ergänzt
Linkpruefer.pruefe() hat einen dritten Zweig (leere Eingabe -> aktion
"leer"), der bisher ungetestet war - die fünf bestehenden Tests deckten
nur den URL- und den Datei-Zweig ab.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:46:15 +02:00
DanielandClaude Sonnet 5 137c2a4718 test_dateipruefer: Standarddatei-Existenzlücke im Docstring vermerkt (#59)
test_standarddatei_vorschlagen prüft nur den Vorschlag, nicht ob die
Standarddatei existiert - das tut aktuell auch der produktive Code nicht
(weder Dateipruefer._handle_leere_eingabe() noch Pruefmanager._handle_
basic_decision()). Fix ist als eigenes Issue (#59) angelegt, Bearbeitung
bewusst zurückgestellt, bis geklärt ist, ob der Standarddatei-Modus
überhaupt gebraucht wird - kein Aufrufer nutzt ihn bisher.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 14:22:21 +02:00
DanielandClaude Sonnet 5 23aab76e42 Restliche sn_basis-Tests: deutsche Docstrings ergänzt
81 Testfälle in 11 Dateien im Rahmen des Test-Audits durchgesehen und mit
"Prüft, dass ..."-Docstring versehen (Projektwissen #16). Kein Verhalten
geändert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 15:06:16 +02:00
DanielandClaude Sonnet 5 53a60246c8 TestDataGrabber: deutsche Docstrings ergänzt
Alle sechs Testfälle im Rahmen des Test-Audits (Projektwissen #16) durchgesehen
und mit "Prüft, dass ..."-Docstring versehen. Kein Verhalten geändert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 13:13:46 +02:00
Daniel ff5ed5d7f5 Merge pull request 'Bugfix/42 umlaute sonderzeichen' (#58) from bugfix/42-umlaute-sonderzeichen into unstable
Reviewed-on: #58
2026-09-15 06:00:10 +00:00
DanielandClaude Sonnet 5 272bad3866 Weitere fehlende Umlaute in Docstrings/Kommentaren behoben (#42)
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
2026-09-14 12:21:01 +02:00
DanielandClaude Sonnet 5 72844cd257 Fehlende Umlaute in Drucklayout-Hinweisen und -Beschriftungen behoben (#42)
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
2026-09-14 12:09:30 +02:00
DanielandClaude Sonnet 5 a754fcfe34 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
2026-09-14 11:09:41 +02:00
Daniel 29fea7c18f changelog.txt aktualisiert
Release Plugin / release (push) Successful in 4s
2026-08-26 16:18:25 +02:00
Daniel d857343d36 changelog.txt aktualisiert 2026-08-26 16:17:52 +02:00
Daniel 7bcd0132e9 Merge pull request 'länderkennungs-dict angelegt, Vorbereitung CSV-Beteiligungsprüfung' (#54) from beteiligung_pruefen into unstable
Reviewed-on: #54
2026-08-26 16:15:23 +02:00
Daniel 3489a08638 länderkennungs-dict angelegt 2026-08-26 12:20:10 +02:00
Daniel 7a5ed12797 Merge pull request 'wfs-abruf-fix' (#53) from wfs-abruf-fix into unstable
Release Plugin / release (push) Successful in 4s
Reviewed-on: #53
2026-07-22 11:14:08 +02:00
Daniel 021747ae06 wfs-abruf-fix 2026-07-22 11:12:43 +02:00
Daniel 91bafe632f changelog.txt aktualisiert
Release Plugin / release (push) Successful in 4s
2026-07-15 16:04:55 +02:00
Daniel 7ed22fb23e Merge pull request 'Shape verfahrensgebiet' (#52) from shape-Verfahrensgebiet into unstable
Reviewed-on: #52
2026-07-15 16:03:18 +02:00
Daniel 3bbb66ec32 shape-Ladefunktion Verfahrensgebiet 2026-07-15 15:27:24 +02:00
Daniel 9258f03705 Umlaute-Fix Layernamen
Release Plugin / release (push) Successful in 4s
Regex um Umlaute erweitert
2026-07-07 15:49:37 +02:00
Daniel 9862386646 changelog.txt aktualisiert 2026-07-07 10:04:22 +02:00
Daniel 706de43512 Merge pull request 'Unstable nach testing' (#51) from unstable into testing
Release Plugin / release (push) Successful in 5s
Reviewed-on: #51
2026-07-07 10:01:32 +02:00
Daniel 970343cd98 changelog.txt aktualisiert
Release Plugin / release (push) Successful in 4s
2026-06-19 11:52:15 +02:00
Daniel 3d9bfdb316 Merge pull request 'Api integration plan41' (#50) from API-Integration_Plan41 into unstable
Reviewed-on: #50
2026-06-19 11:48:35 +02:00
Daniel 15e48f58af VLN-API integriert 2026-06-19 11:47:36 +02:00
Daniel f6b62395dd Merge pull request 'Feature/vkz differenzierung verfahrensgebiet' (#49) from feature/vkz-differenzierung-verfahrensgebiet into testing
Release Plugin / release (push) Successful in 4s
Reviewed-on: #49
2026-05-22 14:29:36 +02:00
Daniel 025a5f5e13 Messagebox-Fix "VG" in "Verfahrensgebiet" 2026-05-22 14:26:58 +02:00
Daniel e196a4896f Fokusverlust bei Dialogauswahl gefixt 2026-05-22 08:56:26 +02:00
Daniel 63a2e8d63a dialogbox für BROR-Abfrage ergänzt 2026-05-22 08:41:12 +02:00
Daniel 0e695ba595 Merge pull request 'Grenzpunkt-Funktionen für Verfahrensgebiet' (#47) from unstable into testing
Release Plugin / release (push) Successful in 4s
Reviewed-on: #47
2026-05-06 13:13:33 +02:00
Daniel 171ebcbe4f Merge pull request 'Verfahrensgebiet-Prüfung als Knickpunkte' (#46) from feature/grenzpunkte_laden into unstable
Release Plugin / release (push) Successful in 3s
Reviewed-on: #46
2026-05-06 10:39:54 +02:00
Daniel b7dfac68f1 Verfahrensgebiet-Prüfung als Knickpunkte 2026-05-05 19:47:25 +02:00
Daniel e9d9a2294d Merge pull request 'verfahrensgebiet aus Flst' (#35) from verfahrensgebiet_aus_flst into unstable
Release Plugin / release (push) Successful in 4s
Reviewed-on: #35
2026-04-23 22:30:12 +02:00
Daniel c8fde119b4 boundary-Unterscheidung für QGIS 3/4 2026-04-23 22:23:50 +02:00
Daniel 692f690fea verfahrensgebiet aus Flst 2026-04-22 14:53:34 +02:00
Daniel 44eee228a8 Merge pull request 'Verfahrensgebiet bilden ergänzt' (#29) from feature/Verfahrensgebiet_bilden into unstable
Release Plugin / release (push) Successful in 4s
Reviewed-on: #29
2026-04-21 22:19:13 +02:00
Daniel 34e2ff4f66 Flst_Laden, VerfGebiet bilden 2026-04-21 21:50:33 +02:00
Daniel 91669b34d6 tests überarbeitet 2026-04-20 15:36:38 +02:00
Daniel d2035139d9 pdoc-Dockstrings ergänzt 2026-04-20 14:31:16 +02:00
Daniel 88761eab22 exit_Crash_fix
Release Plugin / release (push) Successful in 4s
2026-04-20 13:28:00 +02:00
Daniel d762f2d94f Merge branch 'unstable' of https://entwicklung.flurneuordnung-sachsen.de/AG_QGIS/Plugin_SN_Basis into unstable 2026-04-20 10:32:19 +02:00
Daniel 9f7e81e8b2 Merge branch 'feature/Drucklayout-überarbeiten' into unstable 2026-04-20 10:19:36 +02:00
Daniel b4433222f3 Kartenschild angepasst 2026-04-17 17:15:13 +02:00
Daniel 779a1ed63f cleanup 2026-04-17 16:57:26 +02:00
Daniel 4049090e92 Druck-refactor 2026-04-17 16:52:53 +02:00
Daniel 4b842bf635 Vertikale Ausrichtung für Textfelder ergänzt; default: top 2026-04-17 14:44:30 +02:00
Daniel 5564c06d5c 3.40exit-crash-fix als plan in assets 2026-04-17 14:16:50 +02:00
Daniel 9306028df8 Anpassungen am Kartenschild 2026-04-17 13:48:14 +02:00
Daniel abf5808117 Herausgeber case sensitiv 2026-04-13 19:58:06 +02:00
Daniel 7ad8ba054f Baufreigabe-Layout fix auf A3/A4 2026-04-10 23:26:58 +02:00
Daniel 0900c6d3b0 neues Layout "Baufreigabe" hinzugefügt 2026-04-10 22:56:34 +02:00
Daniel 40c224959d Maßstab gefixt 2026-04-10 21:39:27 +02:00
Daniel 9d949d158f Umlaute im Kartenschild und Quellenangabe gefixt 2026-04-10 21:37:37 +02:00
Daniel dbccb5322f Koordinatengitter eingefügt, Rahmenbreiten einheitlich auf 0,5mm gesetzt 2026-04-10 21:30:44 +02:00
Daniel fef72b7e53 Position Kartenname angepasst 2026-04-10 19:32:50 +02:00
Daniel 8e80ffb02e unnötige assets gelöscht 2026-04-10 19:21:07 +02:00
Daniel c01bf241db Merge pull request 'verfahrensgebiet-Vaiable wird sauber gesetzt' (#22) from bug/verfahrensgebiet_nicht_übernommen into unstable
Release Plugin / release (push) Successful in 4s
Reviewed-on: #22
2026-04-08 14:37:44 +02:00
Daniel 9ec465e276 verfahrensgebiet-Vaiable wird sauber gesetzt 2026-04-08 14:36:20 +02:00
Daniel d5b7482ebd Merge pull request 'Legende an Hauptkarte des Layouts angebunden' (#21) from bug/Legendeneintrag into unstable
Reviewed-on: #21
2026-04-08 14:08:45 +02:00
Daniel 8e4031a884 Legende an Hauptkarte des Layouts angebunden 2026-04-08 13:56:58 +02:00
Daniel f1f104a464 Merge pull request 'Projektspeicher_Abfrage beim Start behoben (3.40/3.44' (#20) from bug/projektabfrage into unstable
Reviewed-on: #20
2026-04-08 13:28:14 +02:00
Daniel f34e4ce458 Projektspeicher_Abfrage beim Start behoben (3.40/3.44 2026-04-08 13:27:00 +02:00
Daniel a96560b21b Merge pull request 'Verfahrensgebiet-Layerauswahl nach sn_verfahrensgebiet verschoben' (#14) from refactor/Verfahrensgebiet-Auswahl_nach_sn_verfahrensgebiet into unstable
Release Plugin / release (push) Successful in 4s
Reviewed-on: #14
2026-03-27 11:26:32 +01:00
Daniel bb95e0d536 Verfahrensgebiet-Layerauswahl nach sn_verfahrensgebiet verschoben 2026-03-27 11:19:27 +01:00
Daniel 493e14c67f Merge pull request 'refactor/Druckfunktion-in-sn_basis' (#13) from refactor/Druckfunktion-in-sn_basis into unstable
Release Plugin / release (push) Successful in 4s
Reviewed-on: #13
2026-03-26 21:41:45 +01:00
Daniel 5303a44ce8 variable Blattgröße bis zum eingegebenen Maximum 2026-03-26 21:39:41 +01:00
Daniel b014b92c19 Druckbereich eingeführt (Verfahrensgebiet, Auswahl, Rechteck) 2026-03-26 21:23:50 +01:00
Daniel 3d8c0aff5d drucktab aus sn_plan41 eingefügt, Atlasfunktion entfernt 2026-03-26 20:18:17 +01:00
Daniel eb05fb260f Merge pull request 'feature/variable-name-hinzugefügt' (#12) from feature/variable-name-hinzugefügt into unstable
Reviewed-on: #12
2026-03-24 16:32:53 +01:00
Daniel 295f9f1db7 legendenobjekt ergänzt 2026-03-24 07:53:04 +01:00
Daniel eebb909080 Variable name eingefügt 2026-03-23 15:45:17 +01:00
Daniel 2ff465b86d Merge pull request 'feture/Druck_tab' (#11) from feture/Druck_tab into unstable
Reviewed-on: #11
2026-03-20 22:58:08 +01:00
Daniel f19fe71bfa Ergänzungen in de Wrappern/ Prüfmanager für Layouts 2026-03-20 14:01:57 +01:00
Daniel ae5f88c5b8 Dialoge für Vorlagen-Piepeline ergänzt 2026-03-20 12:42:21 +01:00
Daniel 7cd6e3ef24 checkbox im qt_wrapper ergänzt 2026-03-20 12:01:16 +01:00
Daniel 6e1f4c615b Merge pull request 'daniel@feature/dataGrabber_anbinden' (#9) from Daniel/Plugin_SN_Basis:daniel@feature/dataGrabber_anbinden into unstable
Reviewed-on: #9
2026-03-13 06:51:56 +01:00
Daniel f876218134 plugin.info hinzugefügt 2026-03-13 06:45:55 +01:00
Daniel 9829ac9c81 Diensteabruf integriert 2026-03-12 16:14:02 +01:00
Daniel ae956b0046 Überarbeitung für Pufferlayer-Fachdaten laden und gpkg-speichern/laden 2026-03-11 20:56:02 +01:00
Daniel 0ec24029d8 fix QGIS 4.0-Kompatibilität;
Linkpruefer-Eingabe als String normalisiert, falls Paf-Objekte übergeben werden
2026-03-11 12:38:48 +01:00
Daniel 26f426dfcd Merge pull request 'dev' (#8) from Daniel/Plugin_SN_Basis:dev into main, Basisfunktion für sn_Verfahrensgebiet
Reviewed-on: #8
2026-03-06 10:34:43 +01:00
Daniel 5dc8412a6a Imports für sn_Verfahrensgebiet ergänzt, Stilprüfer wird jetzt auch für apply_style verwendet 2026-03-06 10:20:40 +01:00
Daniel 948041da52 Merge pull request 'qt_wrapper, dialog;wrapper, Pruef_ergebnis und Pruefmanager überarbeitet, so dass die Übergaben jetzt stimmen. Nutzerabfragen werden tatsächlich ausgelöst- Nutzerabfrage Datei überschreiebn... ist noch Blödsinn' (#7) from Daniel/Plugin_SN_Basis:dev into dev
Reviewed-on: #7
2026-03-04 19:42:41 +01:00
Daniel 3b56725e4f qt_wrapper, dialog;wrapper, Pruef_ergebnis und Pruefmanager überarbeitet, so dass die Übergaben jetzt stimmen. Nutzerabfragen werden tatsächlich ausgelöst- Nutzerabfrage Datei überschreiebn... ist noch Blödsinn 2026-03-04 15:32:49 +01:00
Daniel 439de5527a Merge pull request 'dev' (#6) from Daniel/Plugin_SN_Basis:dev into dev
Reviewed-on: https://entwicklung.vln-sn.de/AG_QGIS/Plugin_SN_Basis/pulls/6
2026-02-25 13:27:01 +01:00
Daniel f8be65f6f6 DataGrabber aktualisiert, grabberfunktionen aus dem Prototyp implementiert 2026-02-14 22:14:33 +01:00
Daniel e6ffab1c10 Angefangen, DataGrabber anzulegen (Grundlagen gelegt, noch nicht lauffähig) 2026-02-13 21:39:12 +01:00
Daniel 039c614592 Fix: beim Plugin-Reload werden neue Toolbars hinzugefügt aber keine gelöscht
Fix: Settings-Tab ist leer
Dokumentation begonnen
Pluginkonzept.md überarbeitet
2026-01-09 15:19:25 +01:00
Daniel b805f78f02 Anpassung an den Wrappern für sn_plan41 2026-01-08 17:13:51 +01:00
Daniel f88b5da51f 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) 2025-12-19 14:29:52 +01:00
Daniel e8fea163b5 Auf Wrapper umgestellt, Prüfarchitektur QT6-kompatibel gemacht (Nicht lauffähig) 2025-12-18 22:00:31 +01:00
Daniel f64d56d4bc Tests überarbeitet, Mocks und coverage eingefügt 2025-12-17 17:45:18 +01:00
Daniel 2d67ce8adc Datenbank überarbeitet, V Absprache Andreas 2025-12-17 11:41:17 +01:00
Daniel 1881af93f8 PruefManager und Daten aus P41 übertragen 2025-12-02 20:55:51 +01:00