Browse Source

Speed up userscript info getter by removing actor info

pull/2633/merge
Ruud 12 years ago
parent
commit
9df7f7b22c
  1. 2
      couchpotato/core/providers/info/couchpotatoapi/main.py
  2. 2
      couchpotato/core/providers/info/omdbapi/main.py
  3. 19
      couchpotato/core/providers/info/themoviedb/main.py
  4. 4
      couchpotato/core/providers/userscript/base.py
  5. 2
      couchpotato/core/providers/userscript/imdb/main.py
  6. 2
      couchpotato/core/providers/userscript/tmdb/main.py

2
couchpotato/core/providers/info/couchpotatoapi/main.py

@ -74,7 +74,7 @@ class CouchPotatoApi(MovieProvider):
return True return True
def getInfo(self, identifier = None): def getInfo(self, identifier = None, **kwargs):
if not identifier: if not identifier:
return return

2
couchpotato/core/providers/info/omdbapi/main.py

@ -46,7 +46,7 @@ class OMDBAPI(MovieProvider):
return [] return []
def getInfo(self, identifier = None): def getInfo(self, identifier = None, **kwargs):
if not identifier: if not identifier:
return {} return {}

19
couchpotato/core/providers/info/themoviedb/main.py

@ -61,7 +61,7 @@ class TheMovieDb(MovieProvider):
return results return results
def getInfo(self, identifier = None): def getInfo(self, identifier = None, extended = True):
if not identifier: if not identifier:
return {} return {}
@ -73,14 +73,14 @@ class TheMovieDb(MovieProvider):
try: try:
log.debug('Getting info: %s', cache_key) log.debug('Getting info: %s', cache_key)
movie = tmdb3.Movie(identifier) movie = tmdb3.Movie(identifier)
result = self.parseMovie(movie) result = self.parseMovie(movie, with_actors = extended)
self.setCache(cache_key, result) self.setCache(cache_key, result)
except: except:
pass pass
return result 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 cache_key = 'tmdb.cache.%s' % movie.id
movie_data = self.getCache(cache_key) movie_data = self.getCache(cache_key)
@ -112,12 +112,13 @@ class TheMovieDb(MovieProvider):
# Gather actors data # Gather actors data
actors = {} actors = {}
for cast_item in movie.cast: if with_actors:
try: for cast_item in movie.cast:
actors[toUnicode(cast_item.name)] = toUnicode(cast_item.character) try:
images['actor %s' % toUnicode(cast_item.name)] = self.getImage(cast_item, type = 'profile', size = 'original') actors[toUnicode(cast_item.name)] = toUnicode(cast_item.character)
except: images['actor %s' % toUnicode(cast_item.name)] = self.getImage(cast_item, type = 'profile', size = 'original')
log.debug('Error getting cast info for %s: %s', (cast_item, traceback.format_exc())) except:
log.debug('Error getting cast info for %s: %s', (cast_item, traceback.format_exc()))
movie_data = { movie_data = {
'type': 'movie', 'type': 'movie',

4
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) result = fireEvent('movie.search', q = '%s %s' % (name, year), limit = 1, merge = True)
if len(result) > 0: 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 return movie
else: else:
return None return None
@ -54,7 +54,7 @@ class UserscriptBase(Plugin):
return self.getInfo(getImdb(data)) return self.getInfo(getImdb(data))
def getInfo(self, identifier): 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): def getInclude(self):
return self.includes return self.includes

2
couchpotato/core/providers/userscript/imdb/main.py

@ -8,4 +8,4 @@ class IMDB(UserscriptBase):
includes = ['*://*.imdb.com/title/tt*', '*://imdb.com/title/tt*'] includes = ['*://*.imdb.com/title/tt*', '*://imdb.com/title/tt*']
def getMovie(self, url): def getMovie(self, url):
return fireEvent('movie.info', identifier = getImdb(url), merge = True) return self.getInfo(getImdb(url))

2
couchpotato/core/providers/userscript/tmdb/main.py

@ -9,7 +9,7 @@ class TMDB(UserscriptBase):
def getMovie(self, url): def getMovie(self, url):
match = re.search('(?P<id>\d+)', url) match = re.search('(?P<id>\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']: if movie['imdb']:
return self.getInfo(movie['imdb']) return self.getInfo(movie['imdb'])

Loading…
Cancel
Save