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
def getInfo(self, identifier = None):
def getInfo(self, identifier = None, **kwargs):
if not identifier:
return

2
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 {}

19
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',

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)
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

2
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))

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

@ -9,7 +9,7 @@ class TMDB(UserscriptBase):
def getMovie(self, 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']:
return self.getInfo(movie['imdb'])

Loading…
Cancel
Save