dev: bump to 0.1.88.0-dev TMDb Helper Player, Metadaten-Fix, Menü-Icons, Filmpalast veeve
This commit is contained in:
@@ -58,6 +58,26 @@ Es ergänzt die Detaildokumente `DEFAULT_ROUTER.md` und `PLUGIN_SYSTEM.md`.
|
||||
- Zentrale Sammlung wiederverwendeter Regulärer Ausdrücke (Staffel/Episoden‑Tags, 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üsselberechnung, 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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user