-
Notifications
You must be signed in to change notification settings - Fork 22
Dokumentation libmediathek3
Die libmediathek3 ist ein kleines Script, welches die Kodi Python-Schnittstelle abstrahiert. Da hat eine Reihe von Vorteilen gegenüber von dem direkten Ansprechen der xbmc* Module:
- Einheitliche Schnittstelle
- Code kann von anderen Add-ons angesprochen werden
- Keine Abhängigkeit von xbmc* Modulen
- Code kann extern getestet werden
- Code kann als Scraper (wie z.B. MediathekView) verwendet werden
- Änderungen der Webseiten können automatisch per Cronjob überwacht werden
- Redundanzen bei dem managen der listitems werden vermieden (kürzere Entwicklungsdauer)
Früher hatte ich ein riesiges Template um ein Add-on zu schreiben. Eine Verbesserung musste immer mühsam auf andere Add-ons portiert werden. Jetzt kann ich in kürzester Zeit Add-ons schreiben und brauche keine großen Teile an Code zu kopieren.
Dies ist die Kernfunktion der libmediathek3. Sie erwartet eine Liste mit Dicts mit Keys/Values für Audio/Videodateien bzw. Verzeichnissen. Alle Keys ohne '_' am Anfang gehen ohne Weiteres mit Url-encoding in das "plugin://" Protokoll. Verschiedene Schlüsselwörter haben dabei spezielle Bedeutungen, um das Auftreten der einzelnen Einträge zu bestimmen.
Key | Eigenschaft |
---|---|
name | Name des Videos |
tvshowtitle | Name der TV Show |
plot | Plot/Beschreibung |
rating | Bewertung des Eintrages (0 bis 10) |
mpaa | Altersfreigabe (String, z.B. "FSK 16") |
duration | Länge des Eintrages in Sekunden, String |
aired | Erscheinungsdatum ("DD-MM-YYYY") |
airedISO8601 | Erscheinungsdatum ISO8601 |
thumb | URL zum Thumbnail |
fanart | URL zur Fanart |
type | legt den Inhalt des Eintrages fest (siehe Erklärung) |
episode | Episodennummer |
season | Stafelnummer |
Öffnet das Eingabefenster und liefert einen zu suchenden String. Liefert False wenn der Vorgang abgebrochen wurde.
Beendet das Auflisten der Einträge (sollte am Ende aufgerufen werden).
Diese Funktion erwartet verschiedene Metainformationen, die mindestens eine URL beinhaltet. Optional sind Infos wie Name, Plot, Icon usw.. Außerdem kann man verschiedene Untertitel übermitteln (SRT, TTML, VTT, WEBVTT), die in ein Kodi kompatibles Format konvertiert werden.
Schaut euch einfach mal das Phoenix Add-on an (https://github.com/prof-membrane/plugin.video.phoenixmediathek/blob/master/default.py). Dieses Add-on kommuniziert über die libMediathek mit Kodi.