def show_season_episodes(self, tv_title, episodes): """ Show all episodes of the selected season. :param tv_title: str :param episodes: list of Episode objects """ is_folder = True for episode in episodes: ep_title = episode.title item_url = { 'mode': self.on_episode_click, '0': ep_title.encode("utf-8"), '1': episode.urls } item_title = u"".join(ep_title).encode("utf-8").strip() item_property = {"prop_key": 'IsPlayable', "prop_value": 'true'} kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder, properties=item_property) kodiutilsitem.end_directory()
def show_hdplayers(self, movie): is_folder = False movie_title = movie.title #working_urls = ["vidoza", "fembed", "gounlimited", "mixdrop"] for player_name in movie.urls: item_url = { 'mode': 'play_hd', '0': movie_title, '1': movie.page_url, '2': player_name } item_title = "{0} [{1}]".format(movie_title, player_name) #if player_name in working_urls: # item_title = "{0} [{1}]".format(movie_title, player_name) #else: # item_title = "{0} [{1}] ---- rotto ----".format(movie_title, player_name) item_property = {"prop_key": 'IsPlayable', "prop_value": 'true'} kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder, properties=item_property) kodiutilsitem.end_directory()
def show_playable_url(self, movie_title, movie_urls): """ Show playable items with all streaming options for the selected movie. :param movie_title: str :param movie_urls: list of strings representing movie url """ is_folder = False for movie_url in movie_urls: streaming_source = kodiutilsitem.get_streaming_source_name(movie_url) item_url = { 'mode': self.on_playable_urls_click, '0': movie_title, '1': movie_url } item_title = "{0} [{1}]".format(movie_title, streaming_source) item_property = {"prop_key": 'IsPlayable', "prop_value": 'true'} kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder, properties=item_property) kodiutilsitem.end_directory()
def show_tvshows_results(self, tvshows): """ Show all movies/tv shows scraped :param tvshows: list of TvShow objects :param media_type: str """ is_folder = True for tvshow in tvshows: item_url = { 'mode': self.on_selected_tvshow, '0': tvshow.title.encode("utf-8"), '1': tvshow.page_url } item_title = u''.join(tvshow.title).encode("utf-8").strip() item_arts = { 'thumb': tvshow.image_url, 'fanart': tvshow.image_url } kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder, arts=item_arts) kodiutilsitem.end_directory()
def show_jsons(self, movies): """ Show movies from json file :param movie_title: str :param movie_urls: list of strings representing movie url """ is_folder = False for movie in movies: item_url = { 'mode': 'play_direct', '0': movie.title, '1': movie.urls } item_title = "{0}".format(movie.title) item_property = {"prop_key": 'IsPlayable', "prop_value": 'true'} kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder, properties=item_property) kodiutilsitem.end_directory()
def show_moviedb_results(results, media_type, tmdb_type, page=1, keyword=None): """ Show movies or tv shows got from the themoviedb api request. :param results: list of Movies or TvShow objects :param media_type: str represent movie or tv show type (used for routing) :param tmdb_type: str represent mode for paginations :param page: int :param keyword: str, optional represent user keyboard input """ is_folder = True page = int(page) for media in results: item_url = { 'mode': media_type, '0': media.title.encode("utf-8"), } item_title = media.title.encode("utf-8") item_arts = { 'thumb': tmdb.MOVIEDB_IMAGE_URL.format('500', media.image_url), 'fanart': tmdb.MOVIEDB_IMAGE_URL.format('500', media.image_url) } item_info = { 'title': media.title.encode('utf-8'), 'plot': media.overview.encode('utf-8'), 'year': media.release_date, 'mediatype': 'movie' } kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder, info=item_info, arts=item_arts) if keyword is not None: kodiutilsitem.add_menu_item( { 'mode': tmdb_type, '0': page + 1, '1': keyword }, NEXT_PAGE) else: kodiutilsitem.add_menu_item({ 'mode': tmdb_type, '0': page + 1, }, NEXT_PAGE) kodiutilsitem.end_directory()
def show_moviedb_cast_results(results, media_type, tmdb_type, page=1, keyword=None): """ Show cast got from the themoviedb api request. :param results: list of dictionaries representing themoviedb api request's results :param media_type: str :param tmdb_type: str represent routing url for paginations :param page: int :param keyword: str, optional represent user keyboard input """ is_folder = True page = int(page) for media in results: item_url = {'mode': media_type, '0': 1, '1': media["people_id"]} item_title = media["nome"].encode("utf-8") item_arts = { 'thumb': tmdb.MOVIEDB_IMAGE_URL.format('500', media["poster"]), 'fanart': tmdb.MOVIEDB_IMAGE_URL.format('500', media["poster"]) } item_info = { 'title': media["nome"].encode('utf-8'), 'mediatype': 'movie' } kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder, info=item_info, arts=item_arts) if keyword is not None: kodiutilsitem.add_menu_item( { 'mode': tmdb_type, '0': page + 1, '1': keyword }, NEXT_PAGE) else: kodiutilsitem.add_menu_item({ 'mode': tmdb_type, '0': page + 1, }, NEXT_PAGE) kodiutilsitem.end_directory()
def show_movie_genres_list(results, media_type): """ Show genres list from the themoviedb api request. :param results: list of dictionaries representing themoviedb api request's results :param media_type: str """ is_folder = True for media in results: item_url = {'mode': media_type, '0': 1, '1': media["id"]} item_title = media["nome"].encode("utf-8") item_info = {'title': media["nome"].encode('utf-8')} kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder, info=item_info) kodiutilsitem.end_directory()
def show_fpt_results(self, movies): """ Show all movies/tv shows scraped :param posts_data: list of Movie objects """ is_folder = True for movie in movies: item_url = { 'mode': self.on_selected_movie, '0': movie.title.encode("utf-8"), '1': movie.page_url } item_title = u''.join(movie.title).encode("utf-8").strip() item_arts = {'thumb': movie.image_url, 'fanart': movie.image_url} kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder, arts=item_arts) kodiutilsitem.end_directory()
def show_tv_seasons(self, tv_title, seasons): """ Show all seasons of the selected tv show. :param tv_title: str :param fpt_tv_url: str :param seasons: list of Seasons objects """ is_folder = True for season in seasons: item_url = { 'mode': self.on_season_click, '0': season.title.encode("utf-8"), '1': season.ref_url } item_title = u''.join(season.title).encode("utf-8").strip() kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder) kodiutilsitem.end_directory()
def show_tv_seasons(self, tv_title, seasons, fpt_tv_url=None): """ Show all seasons of the selected tv show. :param tv_title: str :param fpt_tv_url: str :param seasons: list of Seasons objects """ is_folder = True for season in seasons: item_url = { #'mode':'tvshow/selected_season', 'mode': self.on_season_click, '0': season.title.encode("utf-8"), '1': season.html_block.encode("utf-8") if fpt_tv_url is None else fpt_tv_url, '2': season.season_no } item_title = u''.join(season.title).encode("utf-8").strip() kodiutilsitem.add_item(url_dict=item_url, title=item_title, is_folder=is_folder) kodiutilsitem.end_directory()