From 41e94e1e22236a1a161c754b27f1ff087f5c846e Mon Sep 17 00:00:00 2001 From: Ruud Date: Fri, 21 Mar 2014 12:15:46 +0100 Subject: [PATCH] Make sure media dict has category key --- couchpotato/core/media/__init__.py | 2 +- couchpotato/core/media/_base/media/index.py | 5 ----- couchpotato/core/media/_base/media/main.py | 17 ++++++++++------- couchpotato/core/media/movie/_base/main.py | 4 ++-- couchpotato/core/media/movie/searcher.py | 4 ++-- 5 files changed, 15 insertions(+), 17 deletions(-) diff --git a/couchpotato/core/media/__init__.py b/couchpotato/core/media/__init__.py index f9b3b46..4799766 100644 --- a/couchpotato/core/media/__init__.py +++ b/couchpotato/core/media/__init__.py @@ -25,7 +25,7 @@ class MediaBase(Plugin): def onComplete(): try: db = get_db() - media = db.get('id', media_id) + media = fireEvent('media.get', media_id, single = True) event_name = '%s.searcher.single' % media.get('type') fireEventAsync(event_name, media, on_complete = self.createNotifyFront(media_id)) diff --git a/couchpotato/core/media/_base/media/index.py b/couchpotato/core/media/_base/media/index.py index 069cb63..808eb12 100644 --- a/couchpotato/core/media/_base/media/index.py +++ b/couchpotato/core/media/_base/media/index.py @@ -30,11 +30,6 @@ class MediaIndex(MultiTreeBasedIndex): return ids, None - def run_to_dict(self, db, media_id, dict_dept = None): - if not dict_dept: dict_dept = {} - - return db.get('id', media_id) - def run_identifiers(self, db, identifiers, with_doc = False): for x in identifiers: try: diff --git a/couchpotato/core/media/_base/media/main.py b/couchpotato/core/media/_base/media/main.py index c09d416..de8a703 100644 --- a/couchpotato/core/media/_base/media/main.py +++ b/couchpotato/core/media/_base/media/main.py @@ -121,16 +121,19 @@ class MediaPlugin(MediaBase): imdb_id = getImdb(str(media_id)) + media = None if imdb_id: - m = db.get('media', 'imdb-%s' % imdb_id, with_doc = True)['doc'] + media = db.get('media', 'imdb-%s' % imdb_id, with_doc = True)['doc'] else: - m = db.get('id', media_id) + media = db.get('id', media_id) + + if media: - results = None - if m: - results = db.run('media', 'to_dict', m['_id']) + # Attach category + if media.get('category_id'): + media['category'] = db.get('id', media.get('category_id')) - return results + return media def getView(self, id = None, **kwargs): @@ -217,7 +220,7 @@ class MediaPlugin(MediaBase): offset -= 1 continue - media = db.run('media', 'to_dict', media_id) + media = fireEvent('media.get', media_id, single = True) media['releases'] = list(db.run('release', 'for_media', media_id)) diff --git a/couchpotato/core/media/movie/_base/main.py b/couchpotato/core/media/movie/_base/main.py index 932c8b2..499dba9 100644 --- a/couchpotato/core/media/movie/_base/main.py +++ b/couchpotato/core/media/movie/_base/main.py @@ -168,7 +168,7 @@ class MovieBase(MovieTypeBase): if rel['status'] is 'available': db.delete(rel) - movie_dict = db.run('media', 'to_dict', m['_id']) + movie_dict = fireEvent('media.get', m['_id'], single = True) if do_search and search_after: onComplete = self.createOnComplete(m['_id']) @@ -229,7 +229,7 @@ class MovieBase(MovieTypeBase): m = db.get('id', media_id) - movie_dict = db.run('media', 'to_dict', m['_id']) + movie_dict = fireEvent('media.get', m['_id'], single = True) fireEventAsync('movie.searcher.single', movie_dict, on_complete = self.createNotifyFront(media_id)) except: diff --git a/couchpotato/core/media/movie/searcher.py b/couchpotato/core/media/movie/searcher.py index d217c65..6a42631 100644 --- a/couchpotato/core/media/movie/searcher.py +++ b/couchpotato/core/media/movie/searcher.py @@ -90,7 +90,7 @@ class MovieSearcher(SearcherBase, MovieTypeBase): for media_id in medias: - media = db.run('media', 'to_dict', media_id) + media = fireEvent('media.get', media_id, single = True) try: self.single(media, search_protocols) @@ -335,7 +335,7 @@ class MovieSearcher(SearcherBase, MovieTypeBase): rel['status'] = 'ignored' db.update(rel) - movie_dict = db.run('media', 'to_dict', media_id) + movie_dict = fireEvent('media.get', media_id, single = True) log.info('Trying next release for: %s', getTitle(movie_dict)) self.single(movie_dict, manual = manual)