Monatsvorhersage-Fließtext überarbeiten: Struktur, Grammatik, viertes Textset

Textbaustein-System für die Monatsübersicht deutlich robuster und
natürlicher gemacht:

- Zwischenüberschriften ("Der Mond im ...", "Die Planeten im ...") durch
  strukturierte Absatz-Rückgabe statt reinem String; Live-Seite und
  HTML-/Joomla-Export rendern jetzt korrekt h3 -> h4 -> p.
- Deterministische statt zufällige Textbaustein-Auswahl (seeded statt
  random_int), damit derselbe Monat/Jahr bei erneutem Aufruf denselben
  Text liefert.
- Übergangsphrasen zwischen Ereignissätzen ("Anschließend", "Kurz
  darauf" etc.) berücksichtigen jetzt den tatsächlichen Tagesabstand
  und wiederholen sich nie zwei Mal hintereinander; Ereignisse am
  selben Tag werden zu einem Satz zusammengefasst statt das Datum
  doppelt zu nennen.
- Bugfix: Merkur-Elongationen und Venus-Konjunktionen landeten wegen
  eines Typo im Typvergleich im generischen Fallback-Satz.
- Venus korrekt feminin dekliniert (sie/ihre) statt durchgängig "er".
- Morgen-/Abenddämmerung wird bei Merkur-Sichtbarkeit und Venus-
  Helligkeit jetzt benannt (Venus-Sichtbarkeitsrichtung neu in
  api.py berechnet).
- Meteorstrom- und Bedeckungs-Label für Fließtext aufbereitet statt
  Rohdaten-Format ("Maximum X - CODE - ZHR ca. Y", "- Größte
  Bedeckung") direkt auszugeben.
- Aufhänger-Satz: Priorität um Mondbedeckungen erweitert, Planeten-
  parade entfernt; nur im Export fett hervorgehoben.
- Viertes Sky-Intro-Textset (V4) ergänzt, Rotation von year%3 auf
  year%4 umgestellt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-13 09:27:05 +02:00
co-authored by Claude Sonnet 5
parent 39a0882291
commit 2396cac6db
2 changed files with 481 additions and 89 deletions
+2
View File
@@ -4509,12 +4509,14 @@ def action_venus_peak_magnitude_for_month(args: list[str]) -> dict:
break
if local_dt >= local_start:
elongation_info = astronomy.Elongation(astronomy.Body.Venus, event.time)
events.append({
"planet_key": "venus",
"planet_label": "Venus",
"kind": "peak_magnitude",
"label": "Venus in größter Helligkeit",
"mag": float(event.mag),
"visibility": "morning" if elongation_info.visibility == astronomy.Visibility.Morning else "evening",
"utc_iso": dt_utc.isoformat().replace("+00:00", "Z"),
"local_iso": local_dt.isoformat(),
"local_date": local_dt.strftime("%d.%m.%Y"),