示例#1
0
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)
示例#2
0
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
示例#3
0
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
示例#4
0
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
示例#5
0
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
示例#6
0
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
示例#7
0
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