Speed up userscript info getter by removing actor info
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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 {}
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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'])
|
||||||
|
|||||||
Reference in New Issue
Block a user