diff --git a/app/parlamente.py b/app/parlamente.py index 063b764..87dcb8a 100644 --- a/app/parlamente.py +++ b/app/parlamente.py @@ -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}",