Files
ViewIT/docs/DEFAULT_ROUTER.md

50 lines
1.3 KiB
Markdown

# 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
- Speicherort: Addon Profilordner, Datei `playstate.json`
- Key: Plugin + Titel + Staffel + Episode
- Werte: watched, playcount, resume_position, resume_total
## 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.