dev: bump to 0.1.88.0-dev TMDb Helper Player, Metadaten-Fix, Menü-Icons, Filmpalast veeve

This commit is contained in:
2026-04-10 14:07:01 +02:00
parent 29da28ebc3
commit a8a85ef14f
22 changed files with 301 additions and 44 deletions

View File

@@ -58,6 +58,26 @@ Es ergänzt die Detaildokumente `DEFAULT_ROUTER.md` und `PLUGIN_SYSTEM.md`.
- Zentrale Sammlung wiederverwendeter Regulärer Ausdrücke (Staffel/EpisodenTags, Ziffern etc.).
- Ziel: Konsistenz und Vermeidung von fehleranfälligem Copy/Paste in Plugins.
- **yt-dlp Helper (`addon/ytdlp_helper.py`)**
- Kapselt Zugriffe auf `yt-dlp` zum Auflösen von Stream-URLs.
- Wird als optionales Backend für Hoster genutzt, die weder ResolveURL noch direkte Links liefern.
- **Genre-Helfer (`addon/genre_utils.py`)**
- Hilfsfunktionen für Genre-Normalisierung und -Mapping (plugin-übergreifend wiederverwendbar).
- **Such-Helfer (`addon/search_utils.py`)**
- Gemeinsame Logik für titelbasierte Volltextsuche (Wortmatch, Normalisierung).
- Wird vom Router genutzt, um Plugin-Suchtreffer konsistent zu filtern.
- **Kern-Module (`addon/core/`)**
- `trakt.py` Trakt.tv-Integration (OAuth, Scrobbling, Watchlist, Upcoming, History).
- `metadata.py` Metadaten-Aggregation aus Plugins und TMDB.
- `gui.py` Dialog-Helfer und UI-Utilities (z.B. Changelog-Dialog).
- `playstate.py` Playstate-Hilfsfunktionen (Schlüssel­berechnung, Zustandsabfrage). Eigenes Resume/Watched ist deaktiviert; Kodi verwaltet das selbst.
- `plugin_manager.py` Plugin-Discovery und -Instanziierung.
- `router.py` Routing-Helfer und Aktions-Dispatch.
- `updater.py` Versionsprüfung und Addon-Update-Flow.
- **Plugins (`addon/plugins/*.py`)**
- Konkrete Integrationen zu einzelnen Providern (z.B. Serien-/Filmportale).
- Implementieren `BasisPlugin` und optional zusätzliche Capabilities.

View File

@@ -27,9 +27,10 @@ Typische Aktionen:
- `play_episode_url`
## Playstate
- Speicherort: Addon Profilordner, Datei `playstate.json`
- Key: Plugin + Titel + Staffel + Episode
- Werte: watched, playcount, resume_position, resume_total
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

View File

@@ -19,9 +19,15 @@ Jedes Plugin implementiert:
- `genres()`
- `popular_series()`
- `latest_episodes(page: int = 1)`
- `latest_titles(page: int = 1)`
- `titles_for_genre(genre: str)`
- `titles_for_genre_page(genre: str, page: int)`
- `titles_for_genre_group_page(...)` / `genre_has_more(...)` (Paging / Alphabet-Gruppen)
- `years_available()` / `titles_for_year(year, page)`
- `countries_available()` / `titles_for_country(country, page)`
- `collections()` / `titles_for_collection(collection, page)`
- `tags()` / `titles_for_tag(tag, page)`
- `random_title()`
- `stream_link_for(...)`
- `stream_link_for_url(...)`
- `available_hosters_for(...)`
@@ -39,12 +45,17 @@ Wenn keine echten Staffeln existieren:
## Capabilities
Ein Plugin kann Features melden ueber `capabilities()`.
Bekannte Werte:
- `popular_series`
- `genres`
- `latest_episodes`
- `new_titles`
- `alpha`
- `series_catalog`
- `popular_series` beliebte Serien/Filme verfügbar
- `genres` Genre-Navigation
- `latest_episodes` neu erschienene Episoden (`latest_episodes(page)`)
- `new_titles` neu hinzugefügte Titel (`latest_titles(page)`)
- `alpha` alphabetische Navigation
- `series_catalog` vollständiger Serienindex
- `year_filter` Filter nach Erscheinungsjahr (`years_available()`, `titles_for_year()`)
- `country_filter` Filter nach Produktionsland (`countries_available()`, `titles_for_country()`)
- `collections` Sammlungen/Filmreihen (`collections()`, `titles_for_collection()`)
- `tags` Schlagwort-Suche (`tags()`, `titles_for_tag()`)
- `random` zufälliger Titel (`random_title()`)
## Suche
Aktuelle Regeln fuer Suchtreffer:
@@ -58,6 +69,11 @@ Siehe als Referenz:
- `addon/plugins/serienstream_plugin.py`
- `addon/plugins/aniworld_plugin.py`
- `addon/plugins/topstreamfilm_plugin.py`
- `addon/plugins/hdfilme_plugin.py`
- `addon/plugins/kkiste_plugin.py`
- `addon/plugins/moflix_plugin.py`
- `addon/plugins/netzkino_plugin.py`
- `addon/plugins/youtube_plugin.py`
## Settings
Pro Plugin meist `*_base_url`.
@@ -68,6 +84,10 @@ Beispiele:
- `topstream_base_url`
- `filmpalast_base_url`
- `doku_streams_base_url`
- `hdfilme_base_url`
- `kkiste_base_url`
- `moflix_base_url`
- `netzkino_base_url`
## Playback Flow
1. Episode oder Film auswaehlen.

View File

@@ -19,6 +19,11 @@ Relevante Dateien:
- `aniworld_plugin.py`
- `filmpalast_plugin.py`
- `dokustreams_plugin.py`
- `hdfilme_plugin.py`
- `kkiste_plugin.py`
- `moflix_plugin.py`
- `netzkino_plugin.py`
- `youtube_plugin.py`
- `_template_plugin.py` (Vorlage)
## Discovery Ablauf
@@ -41,12 +46,17 @@ Weitere Methoden sind optional und werden nur genutzt, wenn vorhanden.
## Capabilities
Plugins koennen Features aktiv melden.
Typische Werte:
- `popular_series`
- `genres`
- `latest_episodes`
- `new_titles`
- `alpha`
- `series_catalog`
- `popular_series` beliebte Serien/Filme
- `genres` Genre-Navigation
- `latest_episodes` neu erschienene Episoden
- `new_titles` neu hinzugefügte Titel (einfache Stringliste)
- `alpha` alphabetische Navigation
- `series_catalog` vollständiger Serienindex
- `year_filter` Filter nach Erscheinungsjahr
- `country_filter` Filter nach Produktionsland
- `collections` Sammlungen/Filmreihen
- `tags` Schlagwort-Suche
- `random` zufälliger Titel
Das UI zeigt nur Menues fuer aktiv gemeldete Features.