50 lines
1.3 KiB
Markdown
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.
|