From e885ade131694a8f2faa5ef56c77dfaf83bf0b02 Mon Sep 17 00:00:00 2001 From: Dean Gardiner Date: Fri, 25 Jul 2014 13:43:31 +1200 Subject: [PATCH 1/2] [TV] Fixed show posters --- couchpotato/core/media/show/_base/main.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) mode change 100644 => 100755 couchpotato/core/media/show/_base/main.py diff --git a/couchpotato/core/media/show/_base/main.py b/couchpotato/core/media/show/_base/main.py old mode 100644 new mode 100755 index f96ff61..da70c3d --- a/couchpotato/core/media/show/_base/main.py +++ b/couchpotato/core/media/show/_base/main.py @@ -242,11 +242,10 @@ class ShowBase(MediaBase): # Update image file image_urls = info.get('images', []) - existing_files = media.get('files', {}) - self.getPoster(image_urls, existing_files) - db.update(media) + self.getPoster(media, image_urls) + db.update(media) return media except: log.error('Failed update media: %s', traceback.format_exc()) From 7ae178e2a607a0a947f9a3e0d345f1cbf3c34d73 Mon Sep 17 00:00:00 2001 From: Dean Gardiner Date: Fri, 25 Jul 2014 13:44:18 +1200 Subject: [PATCH 2/2] Fixed MediaBase.getPoster(), switched MovieBase to use this generic method --- couchpotato/core/media/__init__.py | 9 ++++++--- couchpotato/core/media/movie/_base/main.py | 32 +++--------------------------- 2 files changed, 9 insertions(+), 32 deletions(-) mode change 100644 => 100755 couchpotato/core/media/__init__.py mode change 100644 => 100755 couchpotato/core/media/movie/_base/main.py diff --git a/couchpotato/core/media/__init__.py b/couchpotato/core/media/__init__.py old mode 100644 new mode 100755 index 4a3eb68..4e319fc --- a/couchpotato/core/media/__init__.py +++ b/couchpotato/core/media/__init__.py @@ -65,10 +65,13 @@ class MediaBase(Plugin): return def_title or 'UNKNOWN' - def getPoster(self, image_urls, existing_files): - image_type = 'poster' + def getPoster(self, media, image_urls): + if 'files' not in media: + media['files'] = {} + + existing_files = media['files'] - # Remove non-existing files + image_type = 'poster' file_type = 'image_%s' % image_type # Make existing unique diff --git a/couchpotato/core/media/movie/_base/main.py b/couchpotato/core/media/movie/_base/main.py old mode 100644 new mode 100755 index 4c5c2f2..6ad85af --- a/couchpotato/core/media/movie/_base/main.py +++ b/couchpotato/core/media/movie/_base/main.py @@ -301,37 +301,11 @@ class MovieBase(MovieTypeBase): media['title'] = def_title # Files - images = info.get('images', []) - media['files'] = media.get('files', {}) - for image_type in ['poster']: - - # Remove non-existing files - file_type = 'image_%s' % image_type - existing_files = list(set(media['files'].get(file_type, []))) - for ef in media['files'].get(file_type, []): - if not os.path.isfile(ef): - existing_files.remove(ef) - - # Replace new files list - media['files'][file_type] = existing_files - if len(existing_files) == 0: - del media['files'][file_type] - - # Loop over type - for image in images.get(image_type, []): - if not isinstance(image, (str, unicode)): - continue - - if file_type not in media['files'] or len(media['files'].get(file_type, [])) == 0: - file_path = fireEvent('file.download', url = image, single = True) - if file_path: - media['files'][file_type] = [file_path] - break - else: - break + image_urls = info.get('images', []) - db.update(media) + self.getPoster(media, image_urls) + db.update(media) return media except: log.error('Failed update media: %s', traceback.format_exc())