• 0.1.0 c24b645e3b

    0.1.0 Stable

    Pablo1732 released this 2026-09-15 12:30:58 +00:00 | 2 commits to master since this release

    Erste funktionsfähige Version.

    • Docker-Container (Ubuntu + Python-Standardbibliothek), der im einstellbaren
      Intervall den Vertretungsplan herunterlädt und in vertretungen.json
      umwandelt. Beide Python-Skripte sind fest im Image, ohne Neubau durch eigene
      ersetzbar (Volume + DOWNLOAD_SCRIPT/PARSER_SCRIPT).
    • Steuerung komplett über Umgebungsvariablen: INTERVAL_SECONDS (Standard 60,
      0 = einmalig), DOWNLOAD_URL, DOWNLOAD_ENABLED/PARSER_ENABLED (je einzeln
      abschaltbar), CLEAN_HTML_BEFORE_DOWNLOAD, TZ (Standard Europe/Berlin),
      DOWNLOAD_ARGS/PARSER_ARGS.
    • Drei Betriebsarten: alles, nur Download, nur Parser (eigene HTML per Mount).
    • Downloader wird nicht-interaktiv ausgeführt (ein Zeilenumbruch auf stdin
      beantwortet ein evtl. input()), sodass der Container nicht blockiert.
    • Robustes Verhalten bei Ausfall: schlägt der Download komplett fehl (leerer
      HTML-Ordner), bleibt die vorhandene vertretungen.json inhaltlich erhalten; der
      Parser setzt den Dateistatus auf unvollstaendig und trägt eine Warnung ein,
      statt eine gute Datei zu überschreiben (atomar geschrieben). Verifiziert.

    Bekannt / offen (für spätere Versionen)

    • Encoding-Erkennung: in einzelnen Untis-Dateien werden Umlaute (z. B. „Süßke")
      nicht korrekt erkannt – Parser-internes Thema, nicht der Container.
    • stand (Planstand-Zeitstempel) wird bei den vorliegenden Beispielen nicht immer
      erkannt.
    • Randfall Teil-Download: bricht der Download mitten im Satz ab, könnte ein
      degradierter, aber lesbarer Plan die gute Datei überschreiben (nur kompletter
      Ausfall ist hart abgesichert).
    • Zusammenführung mit dem WebServer-Container in eine gemeinsame Compose.
    Downloads