Adapter-Bugs aus #61: BB Datum + BB/RP Type-Filter
Drei aus #61 identifizierte Production-Bugs gefixt: - **Bug 4 (BB Datum)**: BB.wahlperiode_start vom 2024-10-23 (Konstituie- rende Sitzung) auf 2024-09-22 (Wahltag) zurückgesetzt. Damit fällt die Geschäftsordnungs-Drucksache 8/2 vom 2024-10-17 in den Plausibilitäts-Check. Ist auch semantisch sauberer — die WP fängt mit der Wahl an, nicht mit der formalen Konstituierung. - **Bug 2/3 (BB/RP Type-Filter leakt Kleine Anfrage / Beschluss- empfehlung)**: Server-side ETYPF/DTYPF-Filter ist best-effort über die portala-Instanzen — BB+RP lassen die nicht-Antrag-Typen durch. Client-side strict-filter im PortalaAdapter.search() nach Aufruf von _parse_hit_list_html: nur Hits, deren typ-String das Substring "antrag" enthält, kommen weiter. Substring-Match (nicht exact), damit "Antrag gemäß § 79 GO" und ähnliche Subtypen passieren. 176 Unit-Tests grün, Live-Verifikation via Sub-A im Container nach Deploy. Refs: #61 (Bug 2, 3, 4) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4bc583e490
commit
e72dd3ec21
@ -141,7 +141,10 @@ BUNDESLAENDER: dict[str, Bundesland] = {
|
|||||||
name="Brandenburg",
|
name="Brandenburg",
|
||||||
parlament_name="Landtag Brandenburg",
|
parlament_name="Landtag Brandenburg",
|
||||||
wahlperiode=8,
|
wahlperiode=8,
|
||||||
wahlperiode_start="2024-10-23",
|
# Wahltag (statt Konstituierende Sitzung am 2024-10-23), damit
|
||||||
|
# die Geschäftsordnungs-Drucksachen der konstituierenden Sitzung
|
||||||
|
# in den Plausibilitäts-Check fallen (siehe #61 Bug 4).
|
||||||
|
wahlperiode_start="2024-09-22",
|
||||||
naechste_wahl="2029-09-23",
|
naechste_wahl="2029-09-23",
|
||||||
regierungsfraktionen=["SPD", "BSW"],
|
regierungsfraktionen=["SPD", "BSW"],
|
||||||
landtagsfraktionen=["SPD", "AfD", "CDU", "BSW"],
|
landtagsfraktionen=["SPD", "AfD", "CDU", "BSW"],
|
||||||
|
|||||||
@ -770,6 +770,17 @@ class PortalaAdapter(ParlamentAdapter):
|
|||||||
return []
|
return []
|
||||||
|
|
||||||
results = self._parse_hit_list_html(report_resp.text, query_filter=query)
|
results = self._parse_hit_list_html(report_resp.text, query_filter=query)
|
||||||
|
# Server-side ETYPF/DTYPF filter is best-effort across portala
|
||||||
|
# instances — BB/RP let "Kleine Anfrage" und "Beschluss-
|
||||||
|
# empfehlung" durch (siehe #61 Bug 2/3). Client-side strict
|
||||||
|
# filter on the parsed typ-string. Whitelist via Substring,
|
||||||
|
# damit "Antrag gemäß § 79 GO" und ähnliche Subtypen passieren.
|
||||||
|
if self.document_type:
|
||||||
|
target = self.document_type.lower()
|
||||||
|
results = [
|
||||||
|
d for d in results
|
||||||
|
if target in (d.typ or "").lower()
|
||||||
|
]
|
||||||
return results[:limit]
|
return results[:limit]
|
||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user