From 02571d0f5d5922c932fca8a3090e3365f6c6d21b Mon Sep 17 00:00:00 2001 From: seedzero Date: Wed, 10 Sep 2014 23:28:55 +1000 Subject: [PATCH 1/2] 'list' API's, return as media type --- couchpotato/core/media/_base/media/main.py | 39 +++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/couchpotato/core/media/_base/media/main.py b/couchpotato/core/media/_base/media/main.py index 26140f3..b1424dc 100755 --- a/couchpotato/core/media/_base/media/main.py +++ b/couchpotato/core/media/_base/media/main.py @@ -258,10 +258,6 @@ class MediaPlugin(MediaBase): for x in filter_by: media_ids = [n for n in media_ids if n in filter_by[x]] - total_count = len(media_ids) - if total_count == 0: - return 0, [] - offset = 0 limit = -1 if limit_offset: @@ -287,11 +283,30 @@ class MediaPlugin(MediaBase): media_ids.remove(media_id) if len(media_ids) == 0 or len(medias) == limit: break - return total_count, medias + # Sort media by type and return result + result = {} + + # Create keys for media types we are listing + if types: + for media_type in types: + result['%ss' % media_type] = [] + else: + for media_type in fireEvent('media.types', merge = True): + result['%ss' % media_type] = [] + + total_count = len(medias) + + if total_count == 0: + return 0, result + + for kind in medias: + result['%ss' % kind['type']].append(kind) + + return total_count, result def listView(self, **kwargs): - total_movies, movies = self.list( + total_count, result = self.list( types = splitString(kwargs.get('type')), status = splitString(kwargs.get('status')), release_status = splitString(kwargs.get('release_status')), @@ -302,12 +317,12 @@ class MediaPlugin(MediaBase): search = kwargs.get('search') ) - return { - 'success': True, - 'empty': len(movies) == 0, - 'total': total_movies, - 'movies': movies, - } + results = result + results['success'] = True + results['empty'] = len(result) == 0 + results['total'] = total_count + + return results def addSingleListView(self): From bb609e073b082f5a07dce3f8b3daa1a1330a3405 Mon Sep 17 00:00:00 2001 From: seedzero Date: Thu, 11 Sep 2014 21:36:05 +1000 Subject: [PATCH 2/2] [TV] Fix for new 'list' API output --- couchpotato/core/media/show/_base/static/list.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/couchpotato/core/media/show/_base/static/list.js b/couchpotato/core/media/show/_base/static/list.js index 87b085a..4177725 100755 --- a/couchpotato/core/media/show/_base/static/list.js +++ b/couchpotato/core/media/show/_base/static/list.js @@ -575,8 +575,8 @@ var ShowList = new Class({ self.el.setStyle('min-height', null); } - self.store(json.movies); - self.addMovies(json.movies, json.total || json.movies.length); + self.store(json.shows); + self.addMovies(json.shows, json.total || json.shows.length); if(self.scrollspy) { self.load_more.set('text', 'load more movies'); self.scrollspy.start();