Update docs

This commit is contained in:
2026-02-01 18:06:46 +01:00
parent f9d353dcfd
commit 90ba3d0fa2
2 changed files with 12 additions and 7 deletions

5
.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
# Local-only notes
/docs/PROJECT_NOTES.md
# Local install output
/install/

View File

@@ -4,7 +4,7 @@ Dieses Dokument beschreibt, wie das Plugin-System von **ViewIt** funktioniert un
### Überblick ### Überblick
ViewIt lädt Provider-Integrationen dynamisch aus `source/kodi_addon/plugins/*.py`. Jede Datei enthält eine Klasse, die von `BasisPlugin` erbt. Beim Start werden alle Plugins instanziiert und nur aktiv genutzt, wenn sie verfügbar sind. ViewIt lädt Provider-Integrationen dynamisch aus `addon/plugins/*.py`. Jede Datei enthält eine Klasse, die von `BasisPlugin` erbt. Beim Start werden alle Plugins instanziiert und nur aktiv genutzt, wenn sie verfügbar sind.
### Aktuelle Plugins ### Aktuelle Plugins
@@ -16,9 +16,9 @@ ViewIt lädt Provider-Integrationen dynamisch aus `source/kodi_addon/plugins/*.p
### Plugin-Discovery (Ladeprozess) ### Plugin-Discovery (Ladeprozess)
Der Loader in `source/kodi_addon/default.py`: Der Loader in `addon/default.py`:
1. Sucht alle `*.py` in `source/kodi_addon/plugins/` 1. Sucht alle `*.py` in `addon/plugins/`
2. Überspringt Dateien, die mit `_` beginnen 2. Überspringt Dateien, die mit `_` beginnen
3. Lädt Module dynamisch 3. Lädt Module dynamisch
4. Instanziert Klassen, die von `BasisPlugin` erben 4. Instanziert Klassen, die von `BasisPlugin` erben
@@ -28,7 +28,7 @@ Damit bleiben fehlerhafte Plugins isoliert und blockieren nicht das gesamte Add-
### BasisPlugin verpflichtende Methoden ### BasisPlugin verpflichtende Methoden
Definiert in `source/kodi_addon/plugin_interface.py`: Definiert in `addon/plugin_interface.py`:
- `async search_titles(query: str) -> list[str]` - `async search_titles(query: str) -> list[str]`
- `seasons_for(title: str) -> list[str]` - `seasons_for(title: str) -> list[str]`
@@ -59,12 +59,12 @@ Eine Integration sollte typischerweise bieten:
- `stream_link_for()` optional für direkte Playback-Links - `stream_link_for()` optional für direkte Playback-Links
- Optional: `available_hosters_for()` oder Provider-spezifische Helfer - Optional: `available_hosters_for()` oder Provider-spezifische Helfer
Als Startpunkt dient `source/kodi_addon/plugins/_template_plugin.py`. Als Startpunkt dient `addon/plugins/_template_plugin.py`.
### Community-Erweiterungen (Workflow) ### Community-Erweiterungen (Workflow)
1. Fork/Branch erstellen 1. Fork/Branch erstellen
2. Neue Datei unter `source/kodi_addon/plugins/` hinzufügen (z.B. `meinprovider_plugin.py`) 2. Neue Datei unter `addon/plugins/` hinzufügen (z.B. `meinprovider_plugin.py`)
3. Klasse erstellen, die `BasisPlugin` implementiert 3. Klasse erstellen, die `BasisPlugin` implementiert
4. In Kodi testen (ZIP bauen, installieren) 4. In Kodi testen (ZIP bauen, installieren)
5. PR öffnen 5. PR öffnen
@@ -88,4 +88,4 @@ Provider sollten URL-Logging optional halten (Settings).
./scripts/build_kodi_zip.sh ./scripts/build_kodi_zip.sh
``` ```
Das ZIP liegt anschließend unter `install/plugin.video.viewit-<version>.zip`. Das ZIP liegt anschließend unter `dist/plugin.video.viewit-<version>.zip`.