Bericht-Export: "Neueste Entwicklungen" sauber formatieren
Live-Monitoring-Lagen (adhoc) zeigten im Export die Entwicklungen als
Bullet-Liste mit "[DD.MM. HH:MM] Text" und Quellen-Links. Jetzt:
- Abschnitt heisst "Neueste Entwicklungen" statt "Zusammenfassung"
(Ueberschrift, Inhaltsverzeichnis). Title folgt dem Inhalt.
- Pro Eintrag eigene Datum/Uhrzeit-Zeile (TT.MM.JJ, HH:MM Uhr),
darunter als eigener Absatz der Meldungstext.
- Keine Links: Quellen-Klammern {Name|URL} und [N]-Zitate werden entfernt.
- Gilt fuer PDF und DOCX. Research-Lagen und KI-Executive-Summary
unveraendert.
Nebenbei: DOCX-Export crashte bei Beschreibungen ueber 255 Zeichen
(python-docx Core-Property "subject" Limit). Subject wird jetzt gekappt.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -1232,18 +1232,14 @@ async def export_incident(
|
||||
snapshots = [dict(r) for r in await cursor.fetchall()]
|
||||
|
||||
# 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).
|
||||
# - Live-Monitoring (adhoc) zeigt primaer "Neueste Entwicklungen" (latest_developments).
|
||||
# Das Rendering (Datum/Uhrzeit als eigene Zeile, ohne Links) uebernimmt der
|
||||
# Report-Generator direkt aus incident["latest_developments"].
|
||||
# - Executive Summary (KI, gecacht) dient nur als Fallback (oder bei Research-Lagen).
|
||||
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:
|
||||
exec_summary = incident.get("executive_summary")
|
||||
if not exec_summary and not (is_adhoc and latest_dev):
|
||||
summary_text = incident.get("summary") or ""
|
||||
exec_summary = await generate_executive_summary(summary_text)
|
||||
await db.execute(
|
||||
@@ -1251,6 +1247,7 @@ async def export_incident(
|
||||
(exec_summary, incident_id),
|
||||
)
|
||||
await db.commit()
|
||||
exec_summary = exec_summary or ""
|
||||
|
||||
date_str = datetime.now(TIMEZONE).strftime("%Y%m%d")
|
||||
slug = _slugify(incident["title"])
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren