[Metadata][XBMC] Add actors to CPS info and nfo

This commit is contained in:
mano3m committed 2013-11-23 01:04:40 +01:00
1 parent bd1bb1ee91
commit e4993eac24
3 files changed
+26 -11

No files matched your search

@@ -105,7 +105,7 @@ class OMDBAPI(MovieProvider):
'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': [{actor: ''} for actor in splitString(movie.get('Actors', ''))],
} }
movie_data = dict((k, v) for k, v in movie_data.iteritems() if v) movie_data = dict((k, v) for k, v in movie_data.iteritems() if v)
except: except:
@@ -92,6 +92,13 @@ class TheMovieDb(MovieProvider):
poster_original = self.getImage(movie, type = 'poster', size = 'original') poster_original = self.getImage(movie, type = 'poster', size = 'original')
backdrop_original = self.getImage(movie, type = 'backdrop', size = 'original') backdrop_original = self.getImage(movie, type = 'backdrop', size = 'original')
images = {
'poster': [poster] if poster else [],
#'backdrop': [backdrop] if backdrop else [],
'poster_original': [poster_original] if poster_original else [],
'backdrop_original': [backdrop_original] if backdrop_original else [],
}
# Genres # Genres
try: try:
genres = [genre.name for genre in movie.genres] genres = [genre.name for genre in movie.genres]
@@ -103,18 +110,19 @@ class TheMovieDb(MovieProvider):
if not movie.releasedate or year == '1900' or year.lower() == 'none': if not movie.releasedate or year == '1900' or year.lower() == 'none':
year = None year = None
# Gather actors data
actors = []
for cast_item in movie.cast:
actors.append({toUnicode(cast_item.name): toUnicode(cast_item.character)})
images.append({'actor %s' % toUnicode(cast_item.name): self.getImage(cast_item, type = 'profile', size = 'original')})
movie_data = { movie_data = {
'type': 'movie', 'type': 'movie',
'via_tmdb': True, 'via_tmdb': True,
'tmdb_id': movie.id, 'tmdb_id': movie.id,
'titles': [toUnicode(movie.title)], 'titles': [toUnicode(movie.title)],
'original_title': movie.originaltitle, 'original_title': movie.originaltitle,
'images': { 'images': images,
'poster': [poster] if poster else [],
#'backdrop': [backdrop] if backdrop else [],
'poster_original': [poster_original] if poster_original else [],
'backdrop_original': [backdrop_original] if backdrop_original else [],
},
'imdb': movie.imdb, 'imdb': movie.imdb,
'runtime': movie.runtime, 'runtime': movie.runtime,
'released': str(movie.releasedate), 'released': str(movie.releasedate),
@@ -122,6 +130,7 @@ class TheMovieDb(MovieProvider):
'plot': movie.overview, 'plot': movie.overview,
'genres': genres, 'genres': genres,
'collection': getattr(movie.collection, 'name', None), 'collection': getattr(movie.collection, 'name', None),
'actors': actors
} }
movie_data = dict((k, v) for k, v in movie_data.iteritems() if v) movie_data = dict((k, v) for k, v in movie_data.iteritems() if v)
@@ -89,10 +89,16 @@ class XBMC(MetaDataBase):
genres.text = toUnicode(genre) genres.text = toUnicode(genre)
# Actors # Actors
for actor in movie_info.get('actors', []): for actor_name, role_name in movie_info.get('actors', {}):
actors = SubElement(nfoxml, 'actor') actor = SubElement(nfoxml, 'actor')
name = SubElement(actors, 'name') name = SubElement(actor, 'name')
name.text = toUnicode(actor) name.text = toUnicode(actor_name)
if role_name:
role = SubElement(actor, 'role')
role.text = toUnicode(role_name)
if movie_info['images'].get('actor %s' % actor_name, ''):
thumb = SubElement(actor, 'thumb')
thumb.text = toUnicode(movie_info['images'].get('actor %s' % actor_name))
# Directors # Directors
for director_name in movie_info.get('directors', []): for director_name in movie_info.get('directors', []):