From 30d51da5f7370c2ff4cd51abdd4e35e6844f2370 Mon Sep 17 00:00:00 2001 From: Dotty Dotter Date: Tue, 28 Apr 2026 23:12:58 +0200 Subject: [PATCH] feat(#106 Folge): Datenquellen-Tabelle auf /methodik um Plenum-Vote-Spalte erweitert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pro BL zeigt die Tabelle nun: - Doku-System (wie bisher) - Drucksachen: alle aktiv (Adapter laufen) - Plenum-Votes: 'aktiv' wenn Parser registriert (NRW), sonst 'Stub' Plus Erklär-Hinweis: 'Plenum-Votes = fraktions-aggregierte Abstimmungs­ergebnisse aus den Plenarprotokollen (#106). Stubs sind Tracking-Stellen fuer kuenftige Implementierungen (Issues #148-#163).' main.py reicht supported_bundeslaender() aus protokoll_parsers an die Template-Context durch (plenum_vote_parsers-Set). --- app/main.py | 3 +++ app/templates/v2/screens/methodik.html | 29 ++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/app/main.py b/app/main.py index eac356f..c731c20 100644 --- a/app/main.py +++ b/app/main.py @@ -1743,6 +1743,7 @@ async def methodik_page(request: Request, current_user: Optional[dict] = Depends from .bundeslaender import aktive_bundeslaender, BUNDESLAENDER from .embeddings import get_indexing_status from .analyzer import get_system_prompt, get_user_prompt_template + from .protokoll_parsers import supported_bundeslaender as _plenum_supported bl_list = [] for bl in aktive_bundeslaender(): @@ -1753,6 +1754,7 @@ async def methodik_page(request: Request, current_user: Optional[dict] = Depends }) status = get_indexing_status() + plenum_vote_parsers = set(_plenum_supported()) # z.B. {"NRW"} return templates.TemplateResponse("v2/screens/methodik.html", { "request": request, @@ -1763,6 +1765,7 @@ async def methodik_page(request: Request, current_user: Optional[dict] = Depends "programme_count": status.get("total", 0), "chunk_count": sum(p.get("chunks", 0) for p in status.get("programmes", [])), "bundeslaender": sorted(bl_list, key=lambda x: x["name"]), + "plenum_vote_parsers": plenum_vote_parsers, "system_prompt": get_system_prompt(), "user_prompt_template": get_user_prompt_template(), **_v2_template_context(current_user), diff --git a/app/templates/v2/screens/methodik.html b/app/templates/v2/screens/methodik.html index a6bc84d..b808a74 100644 --- a/app/templates/v2/screens/methodik.html +++ b/app/templates/v2/screens/methodik.html @@ -470,11 +470,36 @@

{{ adapter_count }} Parlamente angebunden:

- + + + + + + {% for bl in bundeslaender %} - + + + + + + {% endfor %}
ParlamentSystem
ParlamentDoku-SystemDrucksachenPlenum-Votes
{{ bl.name }} ({{ bl.code }}){{ bl.doku_system }}
{{ bl.name }} ({{ bl.code }}){{ bl.doku_system }}✓ aktiv + {% if bl.code in plenum_vote_parsers %} + ✓ aktiv + {% else %} + ○ Stub + {% endif %} +
+

+ Plenum-Votes = fraktions-aggregierte + Abstimmungs­ergebnisse aus den Plenarprotokollen + (#106). Dort wo der Parser + aktiv ist, zeigt die Antrag-Detail-Seite einen Block + „Abstimmungs­ergebnis" mit Ja/Nein/Enthaltung pro Fraktion. + Stubs sind Tracking-Stellen fuer kuenftige Implementierungen + (Issues #148–#163). +

Programme & Quellen · Open Data (JSON) ·