Files
ViewIT/docs/PLUGIN_SYSTEM.md

2.2 KiB
Raw Blame History

ViewIT Plugin System

Dieses Dokument beschreibt Laden, Vertrag und Betrieb der Plugins.

Ueberblick

Der Router laedt Provider Integrationen aus addon/plugins/*.py. Aktive Plugins werden instanziiert und im UI genutzt.

Relevante Dateien:

  • addon/default.py
  • addon/plugin_interface.py
  • docs/DEFAULT_ROUTER.md
  • docs/PLUGIN_DEVELOPMENT.md

Aktuelle Plugins

  • serienstream_plugin.py
  • topstreamfilm_plugin.py
  • einschalten_plugin.py
  • 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

In addon/default.py:

  1. Finde *.py in addon/plugins/
  2. Ueberspringe Dateien mit _ Prefix
  3. Importiere Modul
  4. Nutze Plugin = <Klasse>, falls vorhanden
  5. Sonst instanziiere BasisPlugin Subklassen deterministisch
  6. Ueberspringe Plugins mit is_available = False

Basis Interface

BasisPlugin definiert den Kern:

  • search_titles
  • seasons_for
  • episodes_for

Weitere Methoden sind optional und werden nur genutzt, wenn vorhanden.

Capabilities

Plugins koennen Features aktiv melden. Typische Werte:

  • 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.

Metadaten Quelle

prefer_source_metadata = True bedeutet:

  • Quelle zuerst
  • TMDB nur Fallback

Stabilitaet

  • Keine Netz Calls im Import Block.
  • Fehler im Plugin muessen lokal behandelt werden.
  • Ein defektes Plugin darf andere Plugins nicht blockieren.

Build

Kodi ZIP bauen:

./scripts/build_kodi_zip.sh

Ergebnis: dist/plugin.video.viewit-<version>.zip