Scraper TH: Thüringen (StarWeb, Wahl 2029-09-01) #25
Labels
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: tobias/gwoe-antragspruefer#25
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Wahltermin
2029-09-01 — Thüringen (TH), aktuell 8. Wahlperiode.
Backend
StarWebth8/1234Adapter-Strategie
StarWeb (4/6) — Wiederverwendung. Hostname heißt
parldok.thueringen.deaberdoku_system='StarWeb'laut bundeslaender.py — vor Implementierung verifizieren.Was zu tun ist
webapp/app/parlamente.pyimplementieren — entweder als neue Subklasse vonParlamentAdapteroder als zweiter Registry-Eintrag eines existierenden parametrisierbaren Adapters.ADAPTERS-Registry am Ende der Datei.ADAPTERS["TH"].search("Schule", limit=10)liefert echte Anträge mit Datum + Fraktionen, sortiert newest-first.Hängt mit … zusammenunten) — dieses Issue ist nur der Adapter selbst, nicht das Indexieren der Wahlprogramme oder das Frontend-aktiv-Setzen.Akzeptanzkriterien
parlamente.py::ADAPTERS["TH"]existiert und ist instanziierbarsearch(query="Schule", limit=10)liefert ≥3 echte Drucksachen mit korrektem Datum, Fraktionen, PDF-Linkget_document(drucksache)für eine reale Drucksache der laufenden WP liefert das Dokument zurückdownload_text(drucksache)extrahiert Text aus dem PDFHinweise aus dokukratie/th.yml
WICHTIG — Klassifikations-Korrektur: TH ist in
bundeslaender.pyalsdoku_system="StarWeb"eingetragen, aber dokukratie/th.yml zeigt einen ParlDok-Endpoint, nicht StarWeb:http://parldok.thueringen.de/ParlDok/formalkriterien/DokumententypId,LegislaturPeriodenNummer,DatumVon,DatumBis— exakt dieselben Namen wie das altedokukratie/mv.ymlfür MV!Das ist die alte ParlDok 5.x HTML-Form-Variante (vor dem 8.x-Upgrade von MV). Das Live-System auf
parldok.thueringen.dekönnte aktuell:/parldok/Fulltext/Searchreverse-engineerbar,ParLDokAdapterdirekt nutzbar (#4)Erste Schritt:
curl -sI https://parldok.thueringen.de/parldok/checken — wenn 200 OK + neuereParlDok 8.x-Header, dann hat das Frontend den selben SPA wie MV..//ul[@class="sourceGroup"]/li.//div[@class="row resultinfo"]//span[@class="processlink"]/a/@href.//div[@class="row title"]/div/a(?P<originators_raw>.*),\s+Landesregierung\s+\((?P<answerers>.*)\).*Synergie: vermutlich
ParLDokAdapteraus #4 wiederverwendbar (zweiter Registry-Eintrag). Falls 5.x bleibt, eigener Pfad analog zur dokukratie-Logik. NICHT als StarWeb behandeln.Erledigt in
dc0bb07. Phase 1 ist damit komplett (3/3).Verifikation
ParlDok 8.3.5 — exakt dieselbe Version wie MV. Aber TH packt seine Anträge unter zusammengesetzten type-Strings (
"Antrag gemäß § 79 GO","Antrag gemäß § 74 (2) GO") undkind="Vorlage"statt der MV-Variantekind="Drucksache"/type="Antrag". Strict-Match auf"Antrag"hat 0 Treffer geliefert.ParLDokAdapter erweitert
Zwei neue Konstruktor-Parameter mit backward-kompatiblen Defaults:
document_typ_substring=False→ wennTrue, wirddocument_typals Substring gegentypegematched."Antrag"matched dann"Antrag gemäß § 79 GO","Alternativantrag","Mündlicher Antrag".kinds=None→ wenn None, default ist["Drucksache"]. Für TH erweitert auf["Drucksache", "Vorlage"]._hit_matches_filters()als zentraler Filter-Helper extrahiert.search()nutzt ihn,get_document()überspringt ihn (weil dort beliebige Drucksachen aufrufbar sein müssen, unabhängig vom search-Filter).Hostname-Korrektur
parldok.thueringen.deredirected per 303 aufparldok.thueringer-landtag.de. Diebundeslaender.py::TH.doku_base_urlist auf den neuen Host umgestellt.Smoke-Test
Lokal:
Live auf https://gwoe.toppyr.de/api/search-landtag?bundesland=TH:
Akzeptanzkriterien
parlamente.py::ADAPTERS["TH"]existiert und ist instanziierbarsearch(query="Schule", limit=10)liefert echte Drucksachen mit korrektem Datum, Fraktionen, PDF-Linkget_document(drucksache)funktioniertdownload_text(drucksache)funktioniertPhase-1-Status (#49) — komplett
db5a875) — neue PARLISAdapter-Klasse, ~2h916c5d8) — ParLDokAdapter-Reuse, 13 Zeilendc0bb07) — ParLDokAdapter-Reuse + Filter-Widening, ~50 Zeilen Adapter-ErweiterungDrei neue aktive Bundesländer in einer Session. Aktive Adapter jetzt: NRW, MV, BE, LSA, BW, HH, TH (7 von 16). Nächstes ist Phase 2 mit #27 BB als StarWebAdapter-Template + 5 Reuses (#21 HB, #22 NI, #24 HE, #30 RP) + #20 SH eigenständig.