Ejemplo n.º 1
0
def lists_trakt_my_movie_lists():
    lists = Trakt.get_lists()
    items = []
    for list in lists:
        name = list['name']
        user = list['user']['username']
        slug = list['ids']['slug']
        items.append({
            'label':
            name,
            'path':
            plugin.url_for('lists_trakt_show_movie_list', user=user,
                           slug=slug),
            'thumbnail':
            plugin.get_media_icon('traktmylists'),
            'fanart':
            plugin.get_addon_fanart()
        })
    return plugin.finish(items=items, sort_methods=SORT)
Ejemplo n.º 2
0
def list_tmdb_movies(result):
	genres_dict = nav_base.get_base_genres()
	movies = [meta_info.get_movie_metadata(item, genres_dict) for item in result['results']]
	items = [make_movie_item(movie) for movie in movies]
	if 'page' in result:
		page = int(result['page'])
		pages = int(result['total_pages'])
		args = nav_base.caller_args()
		if pages > page:
			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=SORT)
Ejemplo n.º 3
0
def tv_trakt_popular(page, raw=False):
	results, pages = Trakt.get_popular_shows_paginated(page)
	if raw:
		return results
	else:
		genres_dict = dict([(x['slug'], x['name']) for x in Trakt.get_genres('shows')])
		shows = [meta_info.get_tvshow_metadata_trakt(item, genres_dict) for item in results]
		items = [make_tvshow_item(show) for show in shows if show.get('tvdb_id')]
		page = int(page)
		pages = int(pages)
		if pages > 1:
			items.append(
				{
					'label': '%s/%s  [I]Next page[/I]  >>' % (page + 1, pages + 1),
					'path': plugin.url_for('tv_trakt_popular', page=page + 1),
					'thumbnail': plugin.get_media_icon('item_next'),
					'fanart': plugin.get_addon_fanart()
				})
		return plugin.finish(items=items, sort_methods=SORT)
Ejemplo n.º 4
0
def list_trakt_search_items(results, pages, page):
    shows = [
        meta_info.get_tvshow_metadata_trakt(item['show'], None)
        for item in results
    ]
    items = [make_tvshow_item(show) for show in shows if show.get('tvdb_id')]
    page = int(page)
    pages = int(pages)
    if pages > 1:
        args = nav_base.caller_args()
        nextpage = page + 1
        args['page'] = page + 1
        items.append({
            'label': '%s/%s  [I]Next page[/I]  >>' % (nextpage, pages),
            'path': plugin.url_for(nav_base.caller_name(), **args),
            'thumbnail': plugin.get_media_icon('item_next'),
            'fanart': plugin.get_addon_fanart()
        })
    return items
Ejemplo n.º 5
0
def tv_lists():
    items = [{
        'label':
        'Collection',
        'path':
        plugin.url_for('lists_trakt_tv_collection'),
        'thumbnail':
        plugin.get_media_icon('traktcollection'),
        'fanart':
        plugin.get_addon_fanart(),
        'context_menu':
        [('Add to library', 'RunPlugin(%s)' %
          plugin.url_for('lists_trakt_tv_collection_to_library'))]
    }, {
        'label': 'Recommendations',
        'path': plugin.url_for('trakt_tv_recommendations'),
        'thumbnail': plugin.get_media_icon('traktrecommendations'),
        'fanart': plugin.get_addon_fanart()
    }, {
        'label': 'Watchlist',
        'path': plugin.url_for('trakt_tv_watchlist', page=1),
        'thumbnail': plugin.get_media_icon('traktwatchlist'),
        'fanart': plugin.get_addon_fanart()
    }, {
        'label': 'My Lists',
        'path': plugin.url_for('lists_trakt_my_tv_lists'),
        'thumbnail': plugin.get_media_icon('traktmylists'),
        'fanart': plugin.get_addon_fanart()
    }, {
        'label': 'Liked Lists',
        'path': plugin.url_for('lists_trakt_liked_tv_lists', page=1),
        'thumbnail': plugin.get_media_icon('traktlikedlists'),
        'fanart': plugin.get_addon_fanart()
    }, {
        'label': 'Next Episodes',
        'path': plugin.url_for('trakt_tv_next_episodes'),
        'thumbnail': plugin.get_media_icon('traktnextepisodes'),
        'fanart': plugin.get_addon_fanart()
    }, {
        'label': 'Upcoming Episodes',
        'path': plugin.url_for('trakt_tv_upcoming_episodes'),
        'thumbnail': plugin.get_media_icon('traktcalendar'),
        'fanart': plugin.get_addon_fanart()
    }]
    return items
Ejemplo n.º 6
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)
Ejemplo n.º 7
0
def list_trakt_tvshows(results, pages, page):
	genres_dict = dict([(x['slug'], x['name']) for x in Trakt.get_genres('shows')])
	try:
		shows = [meta_info.get_tvshow_metadata_trakt(item['show'], genres_dict) for item in results]
	except KeyError:
		shows = [meta_info.get_tvshow_metadata_trakt(item, genres_dict) for item in results]
	items = [make_tvshow_item(show) for show in shows if show.get('tvdb_id')]
	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 + 1, 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=SORT)
Ejemplo n.º 8
0
def list_tvshows(response):
	items = []
	results = response['results']
	for tvdb_show, tmdb_show in executor.execute(tmdb_to_tvdb, results, workers=10):
		if tvdb_show is not None:
			info = build_tvshow_info(tvdb_show, tmdb_show)
			items.append(make_tvshow_item(info))
	if xbmc.Monitor().abortRequested():
		return
	if 'page' in response:
		page = response['page']
		args = nav_base.caller_args()
		if page < response['total_pages']:
			args['page'] = str(page + 1)
			items.append(
				{
					'label': '%s/%s  [I]Next page[/I]  >>' % (page + 1, response['total_pages']),
					'path': plugin.url_for(nav_base.caller_name(), **args),
					'thumbnail': plugin.get_media_icon('item_next'),
					'fanart': plugin.get_addon_fanart()
				})
	return items
Ejemplo n.º 9
0
def search(term):
    items = [{
        'label':
        'Movies (TMDB) search - ' + term,
        'path':
        plugin.url_for('tmdb_movies_search_term', term=term, page=1),
        'thumbnail':
        plugin.get_media_icon('search'),
        'fanart':
        plugin.get_addon_fanart()
    }, {
        'label':
        'Movies (Trakt) search - ' + term,
        'path':
        plugin.url_for('trakt_movies_search_term', term=term, page=1),
        'thumbnail':
        plugin.get_media_icon('search'),
        'fanart':
        plugin.get_addon_fanart()
    }, {
        'label': 'TV shows (TVDB) search - ' + term,
        'path': plugin.url_for('tvdb_tv_search_term', term=term, page=1),
        'thumbnail': plugin.get_media_icon('search'),
        'fanart': plugin.get_addon_fanart()
    }, {
        'label': 'TV shows (Trakt) search - ' + term,
        'path': plugin.url_for('trakt_tv_search_term', term=term, page=1),
        'thumbnail': plugin.get_media_icon('search'),
        'fanart': plugin.get_addon_fanart()
    }, {
        'label':
        'Lists (Trakt) search - ' + term,
        'path':
        plugin.url_for('lists_search_for_lists_term', term=term, page=1),
        'thumbnail':
        plugin.get_media_icon('search'),
        'fanart':
        plugin.get_addon_fanart(),
    }, {
        'label': 'Edit search string',
        'path': plugin.url_for('search_edit', term=term),
        'thumbnail': plugin.get_media_icon('search'),
        'fanart': plugin.get_addon_fanart()
    }]
    return items
Ejemplo n.º 10
0
def list_tvshows(response):
    items = []
    results = response['results']
    for tvdb_show, tmdb_show in executor.execute(tmdb_to_tvdb,
                                                 results,
                                                 workers=10):
        if tvdb_show is not None:
            try:
                info = build_tvshow_info(tvdb_show, tmdb_show)
            except Exception as e:
                xbmc.log(
                    'Failed to parse show, tvdbID: {}'.format(
                        tvdb_show.get('id')), xbmc.LOGERROR)
                xbmc.log('Error: {}'.format(e), xbmc.LOGERROR)
                continue
            else:
                items.append(make_tvshow_item(info))
    if xbmc.Monitor().abortRequested():
        return
    if 'page' in response:
        page = response['page']
        args = nav_base.caller_args()
        if page < response['total_pages']:
            args['page'] = str(page + 1)
            items.append({
                'label':
                '%s/%s  [I]Next page[/I]  >>' %
                (page + 1, response['total_pages']),
                'path':
                plugin.url_for(nav_base.caller_name(), **args),
                'thumbnail':
                plugin.get_media_icon('item_next'),
                'fanart':
                plugin.get_addon_fanart()
            })
    return items
Ejemplo n.º 11
0
def movies():
	items = [
	{
		'label': 'Blockbusters (TMDB)',
		'path': plugin.url_for('tmdb_movies_blockbusters', page=1),
		'thumbnail': plugin.get_media_icon('most_voted'),
		'fanart': plugin.get_addon_fanart(),
		'context_menu': [
			('Play (random)', 'RunPlugin(%s)' % plugin.url_for('tmdb_movies_play_random_blockbuster'))]
	},
	{
		'label': 'In theatres (TMDB)',
		'path': plugin.url_for('tmdb_movies_now_playing', page=1),
		'thumbnail': plugin.get_media_icon('intheatres'),
		'fanart': plugin.get_addon_fanart(),
		'context_menu': [
			('Play (random)', 'RunPlugin(%s)' % plugin.url_for('tmdb_movies_play_random_now_playing'))]
	},
	{
		'label': 'Popular (TMDB)',
		'path': plugin.url_for('tmdb_movies_popular', page=1),
		'thumbnail': plugin.get_media_icon('popular'),
		'fanart': plugin.get_addon_fanart(),
		'context_menu': [
			('Play (random)', 'RunPlugin(%s)' % plugin.url_for('tmdb_movies_play_random_popular'))]
	},
	{
		'label': 'Top rated (TMDB)',
		'path': plugin.url_for('tmdb_movies_top_rated', page=1),
		'thumbnail': plugin.get_media_icon('top_rated'),
		'fanart': plugin.get_addon_fanart(),
		'context_menu': [
			('Play (random)', 'RunPlugin(%s)' % plugin.url_for('tmdb_movies_play_random_top_rated'))]
	},
	{
		'label': 'Most watched (Trakt)',
		'path': plugin.url_for('trakt_movies_watched', page=1),
		'thumbnail': plugin.get_media_icon('traktwatchlist'),
		'fanart': plugin.get_addon_fanart(),
		'context_menu': [
			('Play (random)', 'RunPlugin(%s)' % plugin.url_for('trakt_movies_play_random_watched'))]
	},
	{
		'label': 'Most collected (Trakt)',
		'path': plugin.url_for('trakt_movies_collected', page=1),
		'thumbnail': plugin.get_media_icon('traktcollection'),
		'fanart': plugin.get_addon_fanart(),
		'context_menu': [
			('Play (random)', 'RunPlugin(%s)' % plugin.url_for('trakt_movies_play_random_collected'))]
	},
	{
		'label': 'Popular (Trakt)',
		'path': plugin.url_for('trakt_movies_popular', page=1),
		'thumbnail': plugin.get_media_icon('traktrecommendations'),
		'fanart': plugin.get_addon_fanart(),
		'context_menu': [
			('Play (random)', 'RunPlugin(%s)' % plugin.url_for('trakt_movies_play_random_popular'))]
	},
	{
		'label': 'Trending (Trakt)',
		'path': plugin.url_for('trakt_movies_trending', page=1),
		'thumbnail': plugin.get_media_icon('trending'),
		'fanart': plugin.get_addon_fanart(),
		'context_menu': [
			('Play (random)', 'RunPlugin(%s)' % plugin.url_for('trakt_movies_play_random_trending'))]
	},
	{
		'label': 'Latest releases (Trakt)',
		'path': plugin.url_for('trakt_movies_latest_releases'),
		'thumbnail': plugin.get_media_icon('traktcalendar'),
		'fanart': plugin.get_addon_fanart(),
		'context_menu': [
			('Play (random)', 'RunPlugin(%s)' % plugin.url_for('trakt_movies_play_random_latest_releases'))]
	},
	{
		'label': 'Top 250 (IMDB)',
		'path': plugin.url_for('trakt_movies_imdb_top_rated', page=1),
		'thumbnail': plugin.get_media_icon('imdb'),
		'fanart': plugin.get_addon_fanart(),
		'context_menu': [
			('Play (random)', 'RunPlugin(%s)' % plugin.url_for('trakt_movies_play_random_imdb_top_rated'))]
	},
	{
		'label': 'Genres',
		'path': plugin.url_for('tmdb_movies_genres'),
		'thumbnail': plugin.get_media_icon('genres'),
		'fanart': plugin.get_addon_fanart()
	}]
	return items