ParLDokAdapter: Skip Hits mit leerem PDF-Link (#61 Bug 1, TH-Pipeline-Blocker)
Live-Verifikation in der Container-DB hat aufgedeckt, dass TH ParlDok für sehr frische Vorlagen (z.B. 8/1594, datum 2026-03-31, allowed=false) ``link``/``prelink`` als leeren String liefert — das PDF ist noch nicht zur Veröffentlichung freigegeben. Bisheriges Verhalten: Adapter konstruierte einen Drucksache-Eintrag mit ``link=''``, der dann durch die Pipeline rutschte und im Frontend als unklickbarer Eintrag erschien. ``download_text()`` würde später an ``not doc.link`` scheitern, was die Analyse blockt. Sauberer Skip an der Quelle: ``_hit_to_drucksache`` returnt None, wenn weder ``link`` noch ``prelink`` einen Pfad liefern. Das ist konsistent mit den anderen None-Returns für unbrauchbare Hits (kein lp, kein number). Lokal verifiziert: 176 Unit-Tests grün. Live-Verifikation gegen Production folgt nach Deploy via Sub-A-Test im Container. Refs: #61 (Bug 1: TH leerer Link) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
6ebd7aac7a
commit
4bc583e490
@ -999,16 +999,27 @@ class ParLDokAdapter(ParlamentAdapter):
|
||||
}
|
||||
|
||||
def _hit_to_drucksache(self, hit: dict) -> Optional[Drucksache]:
|
||||
"""Convert one ParlDok JSON hit to a Drucksache. None if unusable."""
|
||||
"""Convert one ParlDok JSON hit to a Drucksache. None if unusable.
|
||||
|
||||
ParlDok markiert frische Vorlagen mit leerem ``link``/``prelink``
|
||||
wenn das PDF noch nicht freigegeben ist (z.B. TH 8/1594, datum
|
||||
2026-03-31, ``allowed: false``). Solche Hits sind für unsere
|
||||
Pipeline wertlos — `download_text` würde an `not doc.link`
|
||||
scheitern und das Frontend würde einen unklickbaren Eintrag
|
||||
anzeigen. Sauberer Skip an dieser Stelle. Issue #61, Bug 1.
|
||||
"""
|
||||
lp = hit.get("lp")
|
||||
number = hit.get("number")
|
||||
if not lp or not number:
|
||||
return None
|
||||
|
||||
link_field = hit.get("link") or hit.get("prelink") or ""
|
||||
if not link_field:
|
||||
return None
|
||||
|
||||
# Strip "#navpanes=0" fragment and prepend the prefix.
|
||||
path = link_field.split("#", 1)[0]
|
||||
pdf_url = f"{self.base_url}{self.prefix}{path}" if path else ""
|
||||
pdf_url = f"{self.base_url}{self.prefix}{path}"
|
||||
|
||||
return Drucksache(
|
||||
drucksache=f"{lp}/{number}",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user