From 9df7f7b22c3f0679a9bd798de5d23a7e7459485d Mon Sep 17 00:00:00 2001 From: Ruud Date: Sun, 5 Jan 2014 13:10:27 +0100 Subject: [PATCH] Speed up userscript info getter by removing actor info --- .../core/providers/info/couchpotatoapi/main.py | 2 +- couchpotato/core/providers/info/omdbapi/main.py | 2 +- couchpotato/core/providers/info/themoviedb/main.py | 19 ++++++++++--------- couchpotato/core/providers/userscript/base.py | 4 ++-- couchpotato/core/providers/userscript/imdb/main.py | 2 +- couchpotato/core/providers/userscript/tmdb/main.py | 2 +- 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/couchpotato/core/providers/info/couchpotatoapi/main.py b/couchpotato/core/providers/info/couchpotatoapi/main.py index 4dd942e..1397db9 100644 --- a/couchpotato/core/providers/info/couchpotatoapi/main.py +++ b/couchpotato/core/providers/info/couchpotatoapi/main.py @@ -74,7 +74,7 @@ class CouchPotatoApi(MovieProvider): return True - def getInfo(self, identifier = None): + def getInfo(self, identifier = None, **kwargs): if not identifier: return diff --git a/couchpotato/core/providers/info/omdbapi/main.py b/couchpotato/core/providers/info/omdbapi/main.py index 605dadf..447835c 100755 --- a/couchpotato/core/providers/info/omdbapi/main.py +++ b/couchpotato/core/providers/info/omdbapi/main.py @@ -46,7 +46,7 @@ class OMDBAPI(MovieProvider): return [] - def getInfo(self, identifier = None): + def getInfo(self, identifier = None, **kwargs): if not identifier: return {} diff --git a/couchpotato/core/providers/info/themoviedb/main.py b/couchpotato/core/providers/info/themoviedb/main.py index ef05b66..82daa5c 100644 --- a/couchpotato/core/providers/info/themoviedb/main.py +++ b/couchpotato/core/providers/info/themoviedb/main.py @@ -61,7 +61,7 @@ class TheMovieDb(MovieProvider): return results - def getInfo(self, identifier = None): + def getInfo(self, identifier = None, extended = True): if not identifier: return {} @@ -73,14 +73,14 @@ class TheMovieDb(MovieProvider): try: log.debug('Getting info: %s', cache_key) movie = tmdb3.Movie(identifier) - result = self.parseMovie(movie) + result = self.parseMovie(movie, with_actors = extended) self.setCache(cache_key, result) except: pass return result - def parseMovie(self, movie, with_titles = True): + def parseMovie(self, movie, with_titles = True, with_actors = True): cache_key = 'tmdb.cache.%s' % movie.id movie_data = self.getCache(cache_key) @@ -112,12 +112,13 @@ class TheMovieDb(MovieProvider): # Gather actors data actors = {} - for cast_item in movie.cast: - try: - actors[toUnicode(cast_item.name)] = toUnicode(cast_item.character) - images['actor %s' % toUnicode(cast_item.name)] = self.getImage(cast_item, type = 'profile', size = 'original') - except: - log.debug('Error getting cast info for %s: %s', (cast_item, traceback.format_exc())) + if with_actors: + for cast_item in movie.cast: + try: + actors[toUnicode(cast_item.name)] = toUnicode(cast_item.character) + images['actor %s' % toUnicode(cast_item.name)] = self.getImage(cast_item, type = 'profile', size = 'original') + except: + log.debug('Error getting cast info for %s: %s', (cast_item, traceback.format_exc())) movie_data = { 'type': 'movie', diff --git a/couchpotato/core/providers/userscript/base.py b/couchpotato/core/providers/userscript/base.py index 571b76c..531510b 100644 --- a/couchpotato/core/providers/userscript/base.py +++ b/couchpotato/core/providers/userscript/base.py @@ -25,7 +25,7 @@ class UserscriptBase(Plugin): result = fireEvent('movie.search', q = '%s %s' % (name, year), limit = 1, merge = True) if len(result) > 0: - movie = fireEvent('movie.info', identifier = result[0].get('imdb'), merge = True) + movie = fireEvent('movie.info', identifier = result[0].get('imdb'), extended = False, merge = True) return movie else: return None @@ -54,7 +54,7 @@ class UserscriptBase(Plugin): return self.getInfo(getImdb(data)) def getInfo(self, identifier): - return fireEvent('movie.info', identifier = identifier, merge = True) + return fireEvent('movie.info', identifier = identifier, extended = False, merge = True) def getInclude(self): return self.includes diff --git a/couchpotato/core/providers/userscript/imdb/main.py b/couchpotato/core/providers/userscript/imdb/main.py index 24278b1..2a6efd6 100644 --- a/couchpotato/core/providers/userscript/imdb/main.py +++ b/couchpotato/core/providers/userscript/imdb/main.py @@ -8,4 +8,4 @@ class IMDB(UserscriptBase): includes = ['*://*.imdb.com/title/tt*', '*://imdb.com/title/tt*'] def getMovie(self, url): - return fireEvent('movie.info', identifier = getImdb(url), merge = True) + return self.getInfo(getImdb(url)) diff --git a/couchpotato/core/providers/userscript/tmdb/main.py b/couchpotato/core/providers/userscript/tmdb/main.py index cab38fc..b718fc3 100644 --- a/couchpotato/core/providers/userscript/tmdb/main.py +++ b/couchpotato/core/providers/userscript/tmdb/main.py @@ -9,7 +9,7 @@ class TMDB(UserscriptBase): def getMovie(self, url): match = re.search('(?P\d+)', url) - movie = fireEvent('movie.info_by_tmdb', identifier = match.group('id'), merge = True) + movie = fireEvent('movie.info_by_tmdb', identifier = match.group('id'), extended = False, merge = True) if movie['imdb']: return self.getInfo(movie['imdb'])