Kodi lebt von der Existenz von Datenbanken, in denen Daten zu Filmen (Filmbeschreibungen, Schauspieler*innen, Regisseure, Filmplakate, etc.) gespeichert sind. Hat man ein Filmvideo neu in einem Verzeichnis bereitgestellt, von dem aus Kodi den Film abspielen soll, kann sich Kodi die Daten zu diesem Film aus der Datenbank herunterladen.
Dazu definiert man in Kodi sogenannte Scraper, also Programmteile, die auf die Datenbank zugreifen können. Eine solche Datenbank, die ich in Kodi verwende, ist „The Media Database (TMDb)“. Dazu verwendet der Scraper das API (=Application Programming Interface) von TMDb.
Willst Du mit selbst geschriebenen Programmen auf die Datenbank zugreifen, so ist das auch möglich. Du benötigst dazu ein Key.
Der API Key
Um einen eigenen Key zu bekommen, musst du dich als Erstes bei themoviedb.org registrieren. Wenn du dich erfolgreich registriert hast, logst du dich ein und gehst in dein Profil. Dort kannst du einen API Key beantragen.
Da ich kein Projekt betreiben will dessen „Hauptzweck darin besteht, Einnahmen zum Nutzen des Eigentümers zu erzielen.“ benötigte ich keine kommerzielle, sondern eine Entwickler-API.
Python-Schnittstelle zur TM Database
Es gibt mehrere Module für Python, die auf das API der TMDb zugreifen können. Ich habe das Pythonmodul tmdbv3api in dem Python Package Index (PyPI) gefunden und nach den dort gegebenen Hinweisen installiert. Hier werden einige Beispiele zur Nutzung des Moduls gezeigt. Der Entwickler Anthony Bloomer hat darüber hinaus bei github.com eine weitere Zusammenstellung von Skript-Beispielen zu seinem Modul veröffentlicht, aus denen man gut entnehmen kann, wie man Daten aus der Datenbank abfragen kann. Es folgt ein kleines Beispielskript:
#!/usr/bin/python
# env python
# -*- coding: utf8 -*-
# Stand 24.03.2021
"""
Suche von Filmen in der TMDb (TheMediaDB)
über Stichwort im Filmtitel und zeige den
vollen Titel und das Erscheinungsjahr
"""
import os
import sys
from tmdbv3api import TMDb, Movie
tmdb = TMDb()
tmdb.api_key = "yourKey"
tmdb.language = 'de'
tmdb.debug = True
print ("FILMSUCHE IN TheMediaDB")
filmstr = "init"
while (filmstr != ""):
mes = "\nSuchbegriff eingeben (oder Return): "
filmstr = input(mes)
if filmstr == "":
exit ("FILMSUCHE BEENDET")
movie = Movie()
search = movie.search(filmstr)
found = len(search)
print('"'+filmstr+'" wurde',found,'mal gefunden:\n')
for res in search :
if ( res["release_date"] == '' ):
year = "o.J."
else:
year = res.release_date[0:4]
film = res.title+ " ("+year+")"
print (film)
if found == 0:
print ('Suche nach "'+filmstr+'" erfolglos')
Update 18.06.2021
Weil ich inzwischen mehrere Pythonskripte geschrieben habe, die auf die API von TheMovieDB zugreifen und deshalb meinen API-Key öfter benötige, habe ich mir ein kleines einzeiliges Pythonmodul geschrieben. Der Modulname ist, „helperTMdb.py“ und enthält in einer einzigen Zeile die Variable „myTMDBapikey“ der mein individueller Entwickler-Key zugewiesen wird:
myTMDBapikey= „167138da394c930xxxxxxxxxxxxxxxxx“ (durch die xxx hier im Blog verschleiert)
Diese Variable importiere ich dann aus der Helper-Datei in meine Skripte. Der Anfang des obigen Beispielskripts sieht dann so aus:
#!/usr/bin/python
# env python
# -*- coding: utf8 -*-
# Stand 18.06.2021
"""
Suche von Filmen in der TMDb (TheMediaDB)
über Stichwort im Filmtitel und zeige den
vollen Titel und das Erscheinungsjahr
"""
import os
import sys
from tmdbv3api import TMDb, Movie
from helperTMdb.py import myTMDBapikey
tmdb = TMDb()
tmdb.api_key = myTMDBapikey
tmdb.language = 'de'
tmdb.debug = True