From bc948aae10419c6067d0db54c0feb22aa6f6da2e Mon Sep 17 00:00:00 2001 From: blacktwin Date: Wed, 12 Jul 2017 14:06:07 -0400 Subject: [PATCH] Create plex_api_poster_pull.py --- plex_api_poster_pull.py | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 plex_api_poster_pull.py diff --git a/plex_api_poster_pull.py b/plex_api_poster_pull.py new file mode 100644 index 0000000..c6fe95d --- /dev/null +++ b/plex_api_poster_pull.py @@ -0,0 +1,56 @@ +''' +Pull Movie and TV Show poster images from Plex. +Save to Movie and TV Show directories in scripts working directory. + +''' + + +from plexapi.server import PlexServer +# pip install plexapi +import re +import os +import urllib + + +PLEX_URL = 'http://localhost:32400' +PLEX_TOKEN = 'xxxxxxx' +plex = PlexServer(PLEX_URL, PLEX_TOKEN) + +library_name = ['Movies','TV Shows'] # You library names + +# Create paths for Movies and TV Shows inside current directory +movie_path = '{}/Movies'.format(os.path.dirname(__file__)) +if not os.path.isdir(movie_path): + os.mkdir(movie_path) + +show_path = '{}/TV Shows'.format(os.path.dirname(__file__)) +if not os.path.isdir(show_path): + os.mkdir(show_path) + +child_lst = [] + +# Get all movies or shows from LIBRARY_NAME +for library in library_name: + for child in plex.library.section(library).all(): + child_lst.append(child) + + +for video in child_lst: + # Clean names of special characters + name = re.sub('\W+',' ', video.title) + # Pull URL for poster + thumb_url = '{}{}?X-Plex-Token={}'.format(PLEX_URL, video.thumb, PLEX_TOKEN) + if video.type == 'movie': + image_path = u'{}/{}.jpg'.format(movie_path, name) + if os.path.isfile(image_path): + print("ERROR, %s already exist" % image_path) + else: + # Save to Movie directory + urllib.urlretrieve(thumb_url, image_path) + elif video.type == 'show': + image_path = u'{}/{}.jpg'.format(show_path, name) + if os.path.isfile(image_path): + print("ERROR, %s already exist" % image_path) + else: + # Save to TV Show directory + urllib.urlretrieve(thumb_url, image_path)