Promote develop → main (2026-05-01 21:39 UTC)
This commit was merged in pull request #12.
Dieser Commit ist enthalten in:
@@ -11,4 +11,8 @@ python-multipart
|
||||
aiosmtplib
|
||||
geonamescache>=2.0
|
||||
telethon
|
||||
# Bericht-Export (PDF via WeasyPrint + DOCX via python-docx)
|
||||
Jinja2>=3.1
|
||||
weasyprint>=68.0
|
||||
python-docx>=1.2
|
||||
pikepdf>=9.0
|
||||
|
||||
@@ -26,10 +26,15 @@ LOGO_PATH = Path(__file__).parent / "static" / "favicon.svg"
|
||||
|
||||
|
||||
FC_STATUS_LABELS = {
|
||||
# 1:1 vom Monitor-Frontend (components.js) — konsistent zum UI.
|
||||
"confirmed": "Bestätigt",
|
||||
"unconfirmed": "Unbestätigt",
|
||||
"contradicted": "Widerlegt",
|
||||
"developing": "Unklar",
|
||||
"established": "Gesichert",
|
||||
"disputed": "Umstritten",
|
||||
"false": "Falsch",
|
||||
"unverified": "Ungeprüft",
|
||||
"false": "Falsch", # Legacy-Fallback
|
||||
}
|
||||
|
||||
|
||||
@@ -709,7 +714,7 @@ async def generate_pdf(
|
||||
),
|
||||
lagebild_timestamp=(incident.get("updated_at") or "")[:16].replace("T", " "),
|
||||
sources=_prepare_sources(incident)[:30] if scope == "report" else _prepare_sources(incident),
|
||||
fact_checks=_prepare_fact_checks(fact_checks[:20] if scope == "report" else fact_checks),
|
||||
fact_checks=_prepare_fact_checks(fact_checks),
|
||||
source_stats=_prepare_source_stats(articles)[:20] if scope == "report" else _prepare_source_stats(articles),
|
||||
timeline=_prepare_timeline(articles) if scope == "full" else [],
|
||||
articles=articles if scope == "full" else [],
|
||||
|
||||
@@ -1165,7 +1165,17 @@ async def export_incident(
|
||||
)
|
||||
snapshots = [dict(r) for r in await cursor.fetchall()]
|
||||
|
||||
# Executive Summary (KI-generiert, gecacht)
|
||||
# Zusammenfassung fuer den Export:
|
||||
# - Bei Adhoc-Lagen primaer "Neueste Entwicklungen" (latest_developments) als Markdown-Bullets,
|
||||
# weil Live-Monitoring von Aktualitaet lebt.
|
||||
# - Fallback (oder bei Research): Executive Summary (KI-generiert, gecacht).
|
||||
is_adhoc = (incident.get("type") or "adhoc") != "research"
|
||||
latest_dev = (incident.get("latest_developments") or "").strip()
|
||||
exec_summary = None
|
||||
if is_adhoc and latest_dev:
|
||||
from report_generator import _markdown_to_html as _md_to_html
|
||||
exec_summary = _md_to_html(latest_dev)
|
||||
if not exec_summary:
|
||||
exec_summary = incident.get("executive_summary")
|
||||
if not exec_summary:
|
||||
summary_text = incident.get("summary") or ""
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren