From 985f4293b37f259d22c7582105072301fa979c3e Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Thu, 8 Oct 2020 10:09:27 -0700 Subject: [PATCH] Export images based on level --- plexpy/exporter.py | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/plexpy/exporter.py b/plexpy/exporter.py index 13df3477..68f8ad7c 100644 --- a/plexpy/exporter.py +++ b/plexpy/exporter.py @@ -1780,29 +1780,43 @@ class Export(object): return any(vs.get('hdr') for p in media.get('parts', []) for vs in p.get('videoStreams', [])) def get_image(self, item, image): + export_image = False + if self.thumb_level == 1 or self.art_level == 1: + posters = item.arts() if image == 'art' else item.posters() + export_image = any(poster.selected and poster.ratingKey.startswith('upload://') + for poster in posters) + elif self.thumb_level == 2 or self.art_level == 2: + export_image = any(field.locked and field.name == image + for field in item.fields) + elif self.thumb_level >= 9 or self.art_level >= 9: + export_image = True + + if not export_image: + return + + image_url = None + if image == 'thumb': + image_url = item.thumbUrl + elif image == 'art': + image_url = item.artUrl + + if not image_url: + return + media_type = item.type rating_key = item.ratingKey - + if media_type in ('season', 'episode', 'album', 'track'): item_title = item._defaultSyncTitle() else: item_title = item.title - + folder = get_export_filepath(self.filename, images=True) filename = helpers.clean_filename('{} [{}].{}.jpg'.format(item_title, rating_key, image)) filepath = os.path.join(folder, filename) - + os.makedirs(folder, exist_ok=True) - - image_url = None - if image == 'art': - image_url = item.artUrl - elif image == 'thumb': - image_url = item.thumbUrl - - if not image_url: - return - + r = requests.get(image_url, stream=True) if r.status_code == 200: with open(filepath, 'wb') as outfile: