def programmes_view(site_name, url): url = utils.decode_url(url) if site_name == "thiraimix": site_api = thiraimix.Thiraimix(plugin) programmes = site_api.get_programmes(url) for programme in programmes: listitem = ListItem(programme["name"]) listitem.setArt(programme["image"]) addDirectoryItem( plugin.handle, plugin.url_for( episode_view, site_name=site_name, url=utils.encode_url(programme["url"]), ), listitem, True, ) elif site_name == "tamildhool": site_api = tamildhool.TamilDhool(plugin) programmes = site_api.get_programmes(url) for programme in programmes: listitem = ListItem(programme["name"]) listitem.setArt(programme["image"]) addDirectoryItem( plugin.handle, plugin.url_for( episode_view, site_name=site_name, url=utils.encode_url(programme["url"]), ), listitem, True, ) elif site_name == "yupptv": programmes = ytv.get_programmes(url) for programme in programmes: listitem = ListItem(programme["name"]) listitem.setArt(programme["image"]) addDirectoryItem( plugin.handle, plugin.url_for( episode_view, site_name=site_name, url=utils.encode_url(programme["url"]), ), listitem, True, ) endOfDirectory(plugin.handle)
def episode_view(site_name, url): setContent(plugin.handle, "videos") url = utils.decode_url(url) if site_name == "thiraimix": site_api = thiraimix.Thiraimix(plugin) episodes = site_api.get_episodes(url) elif site_name == "tamildhool": site_api = tamildhool.TamilDhool(plugin) episodes = site_api.get_episodes(url) elif site_name == "yupptv": if "live" in url: url = ytv.find_stream_url(url) plugin.redirect("/playable/{}/{}".format("Play Live", utils.encode_url(url))) else: url = ytv.find_stream_url(url) plugin.redirect("/playable/{}/{}".format("Play", utils.encode_url(url))) return for episode in episodes: addDirectoryItem( plugin.handle, plugin.url_for( stream_list_view, site_name=site_name, movie_name=episode["prog_name"], movie_url=utils.encode_url(episode["url"]), ), ListItem(episode["name"]), True, ) endOfDirectory(plugin.handle) xbmc.executebuiltin("Container.SetViewMode(508)")
def channel_view(site_name, url): url = utils.decode_url(url) if site_name == "yupptv": channels = ytv.get_channels(url) for channel in channels: listitem = ListItem(channel["name"]) listitem.setArt(channel["image"]) if url == "live": addDirectoryItem( plugin.handle, plugin.url_for( episode_view, site_name=site_name, url=utils.encode_url(channel["url"]), ), listitem, True, ) # plugin.redirect( # "/playable/{}/{}".format(channel["name"], utils.encode_url(url)) # ) elif url == "catchup": addDirectoryItem( plugin.handle, plugin.url_for( day_view, site_name=site_name, url=utils.encode_url(channel["url"]), ), listitem, True, ) endOfDirectory(plugin.handle)
def day_view(site_name, url): url = utils.decode_url(url) if site_name == "yupptv": for idx in range(10): listitem = ListItem( (datetime.now() - timedelta(days=idx)).strftime("%a - %d %b")) addDirectoryItem( plugin.handle, plugin.url_for( programmes_view, site_name=site_name, url=utils.encode_url("{}/{}".format(url, idx + 1)), ), listitem, True, ) endOfDirectory(plugin.handle)
def section_view(site_name): """ all sections by sites. sections are getted from site api :param site_name: :return: """ setContent(plugin.handle, "files") if site_name == "tamilyogi": site_api = tamilyogi.TamilYogi(plugin) for section in site_api.get_sections(): addDirectoryItem( plugin.handle, plugin.url_for( movies_view, site_name=site_name, section_url=utils.encode_url(section["url"]), ), ListItem(section["name"]), True, ) elif site_name == "tamilrasigan": site_api = tamilrasigan.TamilRasigan(plugin) for section in site_api.get_sections(): addDirectoryItem( plugin.handle, plugin.url_for( movies_view, site_name=site_name, section_url=utils.encode_url(section["url"]), ), ListItem(section["name"]), True, ) elif site_name == "thiraimix": site_api = thiraimix.Thiraimix(plugin) for section in site_api.get_sections(): addDirectoryItem( plugin.handle, plugin.url_for( movies_view, site_name=site_name, section_url=utils.encode_url(section["url"]), ), ListItem(section["name"]), True, ) elif site_name == "tamilgun": site_api = tamilgun.Tamilgun(plugin) for section in site_api.get_sections(): addDirectoryItem( plugin.handle, plugin.url_for( movies_view, site_name=site_name, section_url=utils.encode_url(section["url"]), ), ListItem(section["name"]), True, ) elif site_name == "tamildbox": site_api = tamildbox.Tamildbox(plugin) for section in site_api.get_sections(): addDirectoryItem( plugin.handle, plugin.url_for( movies_view, site_name=site_name, section_url=utils.encode_url(section["url"]), ), ListItem(section["name"]), True, ) elif site_name == "tamilarasan": site_api = tamilarasan.Tamilarasan(plugin) for section in site_api.get_sections(): addDirectoryItem( plugin.handle, plugin.url_for( movies_view, site_name=site_name, section_url=utils.encode_url(section["url"]), ), ListItem(section["name"]), True, ) elif site_name == "tamildhool": site_api = tamildhool.TamilDhool(plugin) for section in site_api.get_sections(): addDirectoryItem( plugin.handle, plugin.url_for( programmes_view, site_name=site_name, url=utils.encode_url(section["url"]), ), ListItem(section["name"]), True, ) elif site_name == "yupptv" and ytv.hasCredentiels: for section in ytv.get_sections(): if section["url"] == "reconnect": addDirectoryItem( plugin.handle, plugin.url_for( action_handler, site_name=site_name, action_type="reconnect", ), ListItem(section["name"]), True, ) else: addDirectoryItem( plugin.handle, plugin.url_for( channel_view, site_name=site_name, url=utils.encode_url(section["url"]), ), ListItem(section["name"]), True, ) elif site_name == "tamilan": for section in tamilan.get_sections(): addDirectoryItem( plugin.handle, plugin.url_for( movies_view, site_name=site_name, section_url=utils.encode_url(section["url"]), ), ListItem(section["name"]), True, ) # elif site_name == "yupptvlive": # url = ytv.find_stream_url("https://www.yupptv.com/channels/sun-tv-hd/live") # plugin.redirect("/playable/{}/{}".format("playable", utils.encode_url(url))) endOfDirectory(plugin.handle)
def stream_list_view(site_name, movie_name, movie_url): """ show all stream for the movie with quality :param site_name: :param movie_name: :param movie_url: :return: """ movie_url = utils.decode_url(movie_url) # If hit Next page if movie_name == "Next Page": plugin.redirect("/movies/{}/{}".format(site_name, utils.encode_url(movie_url))) else: if site_name == "tamilyogi": site_api = tamilyogi.TamilYogi(plugin) elif site_name == "tamilrasigan": site_api = tamilrasigan.TamilRasigan(plugin) elif site_name == "tamilgun": site_api = tamilgun.Tamilgun(plugin) elif site_name == "thiraimix": site_api = thiraimix.Thiraimix(plugin) elif site_name == "tamildbox": site_api = tamildbox.Tamildbox(plugin) elif site_name == "tamilarasan": site_api = tamilarasan.Tamilarasan(plugin) elif site_name == "tamildhool": site_api = tamildhool.TamilDhool(plugin) elif site_name == "yupptv": site_api = ytv elif site_name == "tamilan": site_api = tamilan stream_urls = site_api.get_stream_urls(movie_name, movie_url) if len(stream_urls) == 0: xbmcgui.Dialog().notification( heading="Error 404", message="Video is no longer available") else: for stream_url in stream_urls: listitem = ListItem(stream_url["name"] + " | " + stream_url["quality"]) listitem.setInfo(type="video", infoLabels={"Title": stream_url["name"]}) listitem.setArt({"icon": stream_url["quality_icon"]}) listitem.setProperty("IsPlayable", "true") addDirectoryItem(plugin.handle, stream_url["url"], listitem, False) endOfDirectory(plugin.handle)
def movies_view(site_name, section_url): """ show all movies from url (section_url). :param site_name: :param section_url: :return: """ setContent(plugin.handle, "videos") # window = xbmcgui.Window(xbmcgui.getCurrentWindowId()) # print(window.getProperty("visuel-view")) # print(plugin.getSetting("visuel-view")) # xbmc.executebuiltin("Container.SetViewMode(55)") # window = xbmcgui.Window(xbmcgui.getCurrentWindowId()) # print(dir(window)) # print('### PROP') # print(window.getProperty()) section_url = utils.decode_url(section_url) if site_name == "tamilyogi": site_api = tamilyogi.TamilYogi(plugin) elif site_name == "tamilrasigan": site_api = tamilrasigan.TamilRasigan(plugin) elif site_name == "tamilgun": site_api = tamilgun.Tamilgun(plugin) elif site_name == "tamildbox": site_api = tamildbox.Tamildbox(plugin) elif site_name == "tamilarasan": site_api = tamilarasan.Tamilarasan(plugin) elif site_name == "tamildhool": site_api = tamildhool.TamilDhool(plugin) elif site_name == "tamilan": site_api = tamilan movies = site_api.get_movies(section_url) if len(movies) == 0: xbmcgui.Dialog().notification("Error 404", "No movies found") setContent(plugin.handle, "files") plugin.redirect("/sections/{}".format(site_name)) for movie in movies: listitem = ListItem(utils.color_movie_name(movie["name"])) listitem.setArt({"thumb": movie["image"], "poster": movie["image"]}) listitem.setInfo("video", movie["infos"]) addDirectoryItem( plugin.handle, plugin.url_for( stream_list_view, site_name=site_name, movie_name=movie["name"], movie_url=utils.encode_url(movie["url"]), ), listitem, True, ) # print("###### MODE") # print(xbmc.executebuiltin("Container.Viewmode")) endOfDirectory(plugin.handle) xbmc.executebuiltin("Container.SetViewMode(508)")