def list_trakt_movies(results, pages=1, page=1): genres_dict = dict([(x['slug'], x['name']) for x in Trakt.get_genres('movies')]) try: movies = [ meta_info.get_trakt_movie_metadata(item['movie'], genres_dict) for item in results ] except KeyError: movies = [ meta_info.get_trakt_movie_metadata(item, genres_dict) for item in results ] items = [make_movie_item(movie) for movie in movies] page = int(page) pages = int(pages) if pages > 1: args = nav_base.caller_args() args['page'] = page + 1 args['confirm'] = 'yes' items.append({ 'label': '%s/%s [I]Next page[/I] >>' % (page, pages + 1), 'path': plugin.url_for(nav_base.caller_name(), **args), 'thumbnail': plugin.get_media_icon('item_next'), 'fanart': plugin.get_addon_fanart() }) return plugin.finish(items=items, sort_methods=SORTRAKT)
def lists_trakt_movies_collection(raw=False): results = sorted(Trakt.get_collection('movies'), key=lambda k: k['collected_at'], reverse=True) if raw: return results movies = [meta_info.get_trakt_movie_metadata(item['movie']) for item in results] items = [make_movie_item(movie) for movie in movies] return items
def list_trakt_persons(results): genres_dict = dict([(x['slug'], x['name']) for x in Trakt.get_genres('movies')]) movies = [ meta_info.get_trakt_movie_metadata(item['movie'], genres_dict) for item in results ] items = [make_movie_item(movie) for movie in movies] return items
def _lists_trakt_show_movie_list(list_items): from resources.lib.TheMovieDB import People items = [] for list_item in list_items: item = None item_type = list_item['type'] if item_type == 'movie': movie = list_item['movie'] movie_info = meta_info.get_trakt_movie_metadata(movie) try: tmdb_id = movie_info['tmdb'] except: tmdb_id = '' try: imdb_id = movie_info['imdb'] except: imdb_id = '' if tmdb_id != None and tmdb_id != '': src = 'tmdb' id = tmdb_id elif imdb_id != None and mdb_id != '': src = 'imdb' id = imdb_id else: src = '' id = '' if src == '': item = None item = make_movie_item(movie_info) elif item_type == 'person': person_id = list_item['person']['ids']['trakt'] person_tmdb_id = list_item['person']['ids']['tmdb'] try: person_images = People(person_tmdb_id).images()['profiles'] person_image = 'https://image.tmdb.org/t/p/w640' + person_images[ 0]['file_path'] except: person_image = '' person_name = text.to_utf8(list_item['person']['name']) item = ({ 'label': person_name, 'path': plugin.url_for('trakt_movies_person', person_id=person_id), 'thumbnail': person_image, 'poster': person_image, 'fanart': plugin.get_addon_fanart() }) if item is not None: items.append(item) return items
def trakt_movies_latest_releases(raw=False): results = sorted(Trakt.get_latest_releases_movies(), key=lambda k: k['listed_at'], reverse=True) if raw: return results else: genres_dict = dict([(x['slug'], x['name']) for x in Trakt.get_genres('movies')]) movies = [ meta_info.get_trakt_movie_metadata(item['movie'], genres_dict) for item in results ] items = [make_movie_item(movie) for movie in movies] return items
def list_trakt_search_items(results, pages, page): movies = [meta_info.get_trakt_movie_metadata(item['movie'], None) for item in results] items = [make_movie_item(movie) for movie in movies] page = int(page) pages = int(pages) if pages > 1: args = nav_base.caller_args() args['page'] = page + 1 items.append( { 'label': '%s/%s [I]Next page[/I] >>' % (page, pages + 1), 'path': plugin.url_for(nav_base.caller_name(), **args), 'thumbnail': plugin.get_media_icon('item_next'), 'fanart': plugin.get_addon_fanart() }) return items
def _lists_trakt_show_list(list_items): from resources.lib.TheMovieDB import People #genres_dict = Trakt.get_genres('tv') items = [] for list_item in list_items: item = None item_type = list_item['type'] if item_type == 'show': tvdb_id = list_item['show']['ids']['tvdb'] if tvdb_id != '' and tvdb_id != None: show = list_item['show'] info = meta_info.get_tvshow_metadata_trakt(show) item = nav_tvshows.make_tvshow_item(info) else: item = None elif item_type == 'season': tvdb_id = list_item['show']['ids']['tvdb'] season = list_item['season'] show = list_item['show'] show_info = meta_info.get_tvshow_metadata_trakt(show) season_info = meta_info.get_season_metadata_trakt( show_info, season) label = '%s - Season %s' % (show['title'], season['number']) item = ({ 'label': label, 'path': plugin.url_for('tv_season', id=tvdb_id, season_num=list_item['season']['number']), 'info': season_info, 'thumbnail': season_info['poster'], 'poster': season_info['poster'], 'properties': { 'fanart_image': season_info['fanart'] } }) elif item_type == 'episode': tvdb_id = list_item['show']['ids']['tvdb'] episode = list_item['episode'] show = list_item['show'] season_number = episode['season'] episode_number = episode['number'] show_info = meta_info.get_tvshow_metadata_trakt(show) episode_info = meta_info.get_episode_metadata_trakt( show_info, episode) label = '%s - S%sE%s - %s' % (show_info['title'], season_number, episode_number, episode_info['title']) item = ({ 'label': label, 'path': plugin.url_for('tv_play', id=tvdb_id, season=season_number, episode=episode_number), 'info': episode_info, 'is_playable': True, 'info_type': 'video', 'stream_info': { 'video': {} }, 'thumbnail': episode_info['poster'], 'poster': episode_info['poster'], 'properties': { 'fanart_image': episode_info['fanart'] } }) elif item_type == 'movie': movie = list_item['movie'] movie_info = meta_info.get_trakt_movie_metadata(movie) try: tmdb_id = movie_info['tmdb'] except: tmdb_id = '' try: imdb_id = movie_info['imdb'] except: imdb_id = '' if tmdb_id != None and tmdb_id != '': src = 'tmdb' id = tmdb_id elif imdb_id != None and mdb_id != '': src = 'imdb' id = imdb_id else: src = '' id = '' if src == '': item = None item = nav_movies.make_movie_item(movie_info) elif item_type == 'person': person_id = list_item['person']['ids']['trakt'] person_tmdb_id = list_item['person']['ids']['tmdb'] try: person_images = People(person_tmdb_id).images()['profiles'] person_image = 'https://image.tmdb.org/t/p/w640' + person_images[ 0]['file_path'] except: person_image = '' person_name = text.to_utf8(list_item['person']['name']) item = ({ 'label': person_name, 'path': plugin.url_for('trakt_movies_person', person_id=person_id), 'thumbnail': person_image, 'poster': person_image, 'properties': { 'fanart_image': person_image } }) if item is not None: items.append(item) for item in items: item['properties'] = {'fanart_image': plugin.get_addon_fanart()} return items