From 216a001f607009fd5fc859c7e70a842eeb20d291 Mon Sep 17 00:00:00 2001 From: rouggy Date: Mon, 6 Dec 2021 15:02:14 +0100 Subject: [PATCH] first commit --- app/plexAutoCollectionUpdater.py | 56 +++++++++++++++++++++ config/__init__.py | 0 config/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 185 bytes config/__pycache__/config.cpython-39.pyc | Bin 0 -> 498 bytes config/config.py | 6 +++ requirements.txt | 3 ++ 6 files changed, 65 insertions(+) create mode 100644 app/plexAutoCollectionUpdater.py create mode 100644 config/__init__.py create mode 100644 config/__pycache__/__init__.cpython-39.pyc create mode 100644 config/__pycache__/config.cpython-39.pyc create mode 100644 config/config.py create mode 100644 requirements.txt diff --git a/app/plexAutoCollectionUpdater.py b/app/plexAutoCollectionUpdater.py new file mode 100644 index 0000000..107789d --- /dev/null +++ b/app/plexAutoCollectionUpdater.py @@ -0,0 +1,56 @@ +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("") \ No newline at end of file diff --git a/config/__init__.py b/config/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/config/__pycache__/__init__.cpython-39.pyc b/config/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a26078f84c4c0cee17a978a743deeebb1b857bc7 GIT binary patch literal 185 zcmYe~<>g`kg7^PcCW7e4AOaaM0yz#qT+9L_QW%06G#UL?G8BP?5yY=JXRDZi)S}}2 z7{AntlH{EH(i8|kFE2GGCZH%ky(lp^H?br$KQAVrvLpjU<)l_PmX_o@=jY_4CWB-` t3sMqGQj21e^YhX&(_`Y}GxIV_;^XxSDsOSvuXGy4Dl literal 0 HcmV?d00001 diff --git a/config/__pycache__/config.cpython-39.pyc b/config/__pycache__/config.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..524a3a5d6e9c804c63d4bf6547f8ec0cf9f39126 GIT binary patch literal 498 zcmY*Wy-ve05O#iAN`VcDg@LsL{Sl=V2%(k;F@UO8P>`ZXkrO*fA&G+Q zQA2Yf^UoAe13w}dwsXP>$+X)^>(_Bsd{|A5eSi_`>j?I(uXEzneXRKb{EXoFX?1*FTCw^B(AQ` z?&rqwEEqMGikfZ5IHI;))NMOrBnxG{YTLIN4u3KtBF-?GozlEmmGK#l{S5oGSdr%( z;gn8!SS(9%!ER{$g7`8#t)x%O*tf=%r_37B2jPY+BMTkJG_=N?`5Z?P7Bd!G<6H#N zL7`zLn8Cu3x-v6O2o{uEZrP1**GzIQdnu9DfNF|fj&gR?P>U*auAxAwf3LKN