@@ -11,6 +11,25 @@ log = CPLog(__name__)
|
|||||||
|
|
||||||
class MovieResultModifier(Plugin):
|
class MovieResultModifier(Plugin):
|
||||||
|
|
||||||
|
default_info = {
|
||||||
|
'tmdb_id': 0,
|
||||||
|
'titles': [],
|
||||||
|
'original_title': '',
|
||||||
|
'year': 0,
|
||||||
|
'images': {
|
||||||
|
'poster': [],
|
||||||
|
'backdrop': [],
|
||||||
|
'poster_original': [],
|
||||||
|
'backdrop_original': []
|
||||||
|
},
|
||||||
|
'runtime': 0,
|
||||||
|
'plot': '',
|
||||||
|
'tagline': '',
|
||||||
|
'imdb': '',
|
||||||
|
'genres': [],
|
||||||
|
'release_date': {}
|
||||||
|
}
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
addEvent('result.modify.movie.search', self.combineOnIMDB)
|
addEvent('result.modify.movie.search', self.combineOnIMDB)
|
||||||
addEvent('result.modify.movie.info', self.checkLibrary)
|
addEvent('result.modify.movie.info', self.checkLibrary)
|
||||||
@@ -67,6 +86,9 @@ class MovieResultModifier(Plugin):
|
|||||||
return temp
|
return temp
|
||||||
|
|
||||||
def checkLibrary(self, result):
|
def checkLibrary(self, result):
|
||||||
|
|
||||||
|
result = mergeDicts(self.default_info, result)
|
||||||
|
|
||||||
if result and result.get('imdb'):
|
if result and result.get('imdb'):
|
||||||
return mergeDicts(result, self.getLibraryTags(result['imdb']))
|
return mergeDicts(result, self.getLibraryTags(result['imdb']))
|
||||||
return result
|
return result
|
||||||
|
|||||||
@@ -70,7 +70,8 @@ class CouchPotatoApi(MovieProvider):
|
|||||||
return
|
return
|
||||||
|
|
||||||
result = self.getJsonData(self.urls['info'] % identifier, headers = self.getRequestHeaders())
|
result = self.getJsonData(self.urls['info'] % identifier, headers = self.getRequestHeaders())
|
||||||
if result: return result
|
if result:
|
||||||
|
return dict((k, v) for k, v in result.iteritems() if v)
|
||||||
|
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ class OMDBAPI(MovieProvider):
|
|||||||
movie_data = {
|
movie_data = {
|
||||||
'via_imdb': True,
|
'via_imdb': True,
|
||||||
'titles': [movie.get('Title')] if movie.get('Title') else [],
|
'titles': [movie.get('Title')] if movie.get('Title') else [],
|
||||||
'original_title': movie.get('Title', ''),
|
'original_title': movie.get('Title'),
|
||||||
'images': {
|
'images': {
|
||||||
'poster': [movie.get('Poster', '')] if movie.get('Poster') and len(movie.get('Poster', '')) > 4 else [],
|
'poster': [movie.get('Poster', '')] if movie.get('Poster') and len(movie.get('Poster', '')) > 4 else [],
|
||||||
},
|
},
|
||||||
@@ -96,14 +96,15 @@ class OMDBAPI(MovieProvider):
|
|||||||
},
|
},
|
||||||
'imdb': str(movie.get('imdbID', '')),
|
'imdb': str(movie.get('imdbID', '')),
|
||||||
'runtime': self.runtimeToMinutes(movie.get('Runtime', '')),
|
'runtime': self.runtimeToMinutes(movie.get('Runtime', '')),
|
||||||
'released': movie.get('Released', ''),
|
'released': movie.get('Released'),
|
||||||
'year': year if isinstance(year, (int)) else None,
|
'year': year if isinstance(year, (int)) else None,
|
||||||
'plot': movie.get('Plot', ''),
|
'plot': movie.get('Plot'),
|
||||||
'genres': splitString(movie.get('Genre', '')),
|
'genres': splitString(movie.get('Genre', '')),
|
||||||
'directors': splitString(movie.get('Director', '')),
|
'directors': splitString(movie.get('Director', '')),
|
||||||
'writers': splitString(movie.get('Writer', '')),
|
'writers': splitString(movie.get('Writer', '')),
|
||||||
'actors': splitString(movie.get('Actors', '')),
|
'actors': splitString(movie.get('Actors', '')),
|
||||||
}
|
}
|
||||||
|
movie_data = dict((k, v) for k, v in movie_data.iteritems() if v)
|
||||||
except:
|
except:
|
||||||
log.error('Failed parsing IMDB API json: %s', traceback.format_exc())
|
log.error('Failed parsing IMDB API json: %s', traceback.format_exc())
|
||||||
|
|
||||||
|
|||||||
@@ -170,11 +170,12 @@ class TheMovieDb(MovieProvider):
|
|||||||
'runtime': movie.get('runtime'),
|
'runtime': movie.get('runtime'),
|
||||||
'released': movie.get('released'),
|
'released': movie.get('released'),
|
||||||
'year': year,
|
'year': year,
|
||||||
'plot': movie.get('overview', ''),
|
'plot': movie.get('overview'),
|
||||||
'tagline': '',
|
|
||||||
'genres': genres,
|
'genres': genres,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
movie_data = dict((k, v) for k, v in movie_data.iteritems() if v)
|
||||||
|
|
||||||
# Add alternative names
|
# Add alternative names
|
||||||
for alt in ['original_name', 'alternative_name']:
|
for alt in ['original_name', 'alternative_name']:
|
||||||
alt_name = toUnicode(movie.get(alt))
|
alt_name = toUnicode(movie.get(alt))
|
||||||
|
|||||||
Reference in New Issue
Block a user