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("")