• 0.2.0 68ca46af18

    0.2.0 Stable

    Pablo1732 released this 2026-10-26 12:46:03 +00:00 | 0 commits to master since this release

    Fehlerbehebung

    • Von Untis umgebrochener Text (z. B. „AA Geschichte" + nächste Zeile „findet normal statt") wird jetzt an den richtigen Eintrag angehängt. Vorher erschien der Rest als eigener Eintrag ohne Klasse/Stunde und landete im Plan unter „keine Klassenzuordnung".

    Sonstiges

    • Parser 4.2, neuer Selbsttest für diesen Fall.
    • Container-Log zeigt die echte Version (v0.2.0) statt vdev.

    Update: in der docker-compose.yml Image-Tag auf 0.2.0 setzen, dann docker compose pull && docker compose up -d.

    Downloads
  • 0.1.1 47dfee246b

    0.1.1 Stable

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

    • Standard-INTERVAL_SECONDS in der docker-compose.yml von 60 auf 30 Sekunden
      gesenkt. Keine Funktionsänderung an Downloader/Parser; der Image-Fallback bleibt
      60 (greift nur, wenn die Compose die Variable nicht setzt).
    Downloads
  • 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