PlexAutoCollectionUpdater/app/plexAutoCollectionUpdater.py
2021-12-06 15:02:14 +01:00

56 lines
1.4 KiB
Python

from config.config import Config
from tmdbv3api import TMDb, Movie, Collection
from plexapi.server import PlexServer
from fuzzywuzzy import fuzz
# Instantiate Tmdb object
tmdb = TMDb()
tmdb.api_key = Config.tmdbApiKey
tmdb.language = Config.tmdbLanguage
# Instantiate movie object
tmdbMovie = Movie()
tmdbCollection = Collection()
baseurl = Config.plexBaseUrl
token = Config.plexToken
plex = PlexServer(baseurl, token)
PlexMovieList = []
MatchingList = []
TMDbCollection = []
MovieCollectionFinal = []
movies = plex.library.section('Movies')
for video in movies.search():
PlexMovieList.append(video.title)
i = 0
length = len(PlexMovieList)
while i < length:
for movie in PlexMovieList:
if fuzz.ratio(PlexMovieList[i], movie) > 85 and fuzz.ratio(PlexMovieList[i], movie) < 100:
if PlexMovieList[i] not in MatchingList:
MatchingList.append(PlexMovieList[i])
i += 1
for movie in MatchingList:
movieSearch = tmdbMovie.search(movie)
movieId = movieSearch[0].id
movieDetails = tmdbMovie.details(movie_id=movieId)
if movieDetails.belongs_to_collection is not None:
collectionId = movieDetails.belongs_to_collection
if collectionId.id not in TMDbCollection:
TMDbCollection.append(collectionId.id)
for id in TMDbCollection:
MovieCollectionFinal.append(tmdbCollection.details(id))
pass
print("")