Files
ViewIT/docs/DEFAULT_ROUTER.md

1.5 KiB

ViewIT Hauptlogik (addon/default.py)

Diese Datei ist der Router des Addons. Sie verbindet Kodi UI, Plugin Calls und Playback.

Kernaufgabe

  • Plugins laden
  • Menues bauen
  • Aktionen auf Plugin Methoden mappen
  • Playback starten
  • Playstate speichern

Ablauf

  1. Plugin Discovery fuer addon/plugins/*.py ohne _ Prefix.
  2. Navigation fuer Titel, Staffeln und Episoden.
  3. Playback: Link holen, optional aufloesen, abspielen.
  4. Playstate: watched und resume in playstate.json schreiben.

Routing

Der Router liest Query Parameter aus sys.argv[2]. Typische Aktionen:

  • search
  • seasons
  • episodes
  • play_episode
  • play_movie
  • play_episode_url

Playstate

Eigenes Resume/Watched-Tracking ist deaktiviert (addon/core/playstate.py). Kodi verwaltet den Playstate vollständig selbst (Watched-Status, Resume-Position). Die Helfer-Funktionen in playstate.py (Schlüsselberechnung, Zustandsabfrage) sind noch vorhanden, aber track_playback_and_update_state_async() ist ein No-op.

Wichtige Helper

  • Plugin Loader und Discovery
  • UI Builder fuer ListItems
  • Playstate Load/Save/Merge
  • TMDB Merge mit Source Fallback

Fehlerverhalten

  • Importfehler pro Plugin werden isoliert behandelt.
  • Fehler in einem Plugin sollen das Addon nicht stoppen.
  • User bekommt kurze Fehlermeldungen in Kodi.

Erweiterung

Fuer neue Aktion im Router:

  1. Action im run() Handler registrieren.
  2. ListItem mit passenden Parametern bauen.
  3. Zielmethode im Plugin bereitstellen.