def getChannels(page): x = [] logger.debug("using tvshowme...") if str(page) == '0': page=Tvshowme.MAIN_URL html = Tvshowme.getContentFromUrl(page,"",Tvshowme.cookie,"") table = Decoder.extract('<span class="yawp_wim_title">Latest 150 Posts</span> <ul>','</ul>',html) x = Tvshowme.extractElements(table) elif page=="search": #display keyboard, it will wait for result keyboard = XBMCUtils.getKeyboard() keyboard.doModal() text = "" if (keyboard.isConfirmed()): text = keyboard.getText() page = "http://www.tvshow.me/?s="+urllib.quote(text) html = Tvshowme.getContentFromUrl(url=page) logger.debug(html) table = Decoder.extract('<div id="content"', '<h3 class="assistive-text">', html) logger.debug("table is: "+table) x = Tvshowme.extractLinks2(table) else: html = Tvshowme.getContentFromUrl(page, "", Tvshowme.cookie, Tvshowme.MAIN_URL) logger.debug(html) table = Decoder.extract('<div id="content"', '</article>', html) x = Tvshowme.extractLinks(table) return x
def getChannels(page='0'): x = [] if str(page) == '0': page=Youtube.MAIN_URL+"/" html = Youtube.getContentFromUrl(page,"",Youtube.cookie,"") logger.debug("html: "+html) x = Youtube.extractMainChannels(html) element = {} element["title"] = XBMCUtils.getString(11018) element["page"] = 'search' x.append(element) elif str(page) == 'search': keyboard = XBMCUtils.getKeyboard() keyboard.doModal() text = "" if (keyboard.isConfirmed()): text = keyboard.getText() text = urllib.quote_plus(text) html = Youtube.getContentFromUrl(Youtube.SEARCH_URL+text, "", Youtube.cookie, "https://www.youtube.com/?app=desktop") html = html.replace('\u003e','>').replace("\u003c","<").replace("\\","") logger.debug("brute html is: "+html) x = Youtube.extractAllVideosFromHtml(html) logger.debug("done search logic!") elif '/results?' in page: logger.debug("pagination detected: "+page) html = Youtube.getContentFromUrl(page, "", Youtube.cookie,Youtube.MAIN_URL) x = Youtube.extractAllVideosFromHtml(html) logger.debug("done search logic pagination!") elif page.find('/channel/')>-1: html = Youtube.getContentFromUrl(page,"",Youtube.cookie,Youtube.MAIN_URL) x = Youtube.extractAllVideos(html) elif "/trending" in page: html = Youtube.getContentFromUrl(page, "", Youtube.cookie, Youtube.MAIN_URL) x = Youtube.extractAllVideosFromHtml(html) elif '&list=' in page and '&index=' not in page: logger.debug("detected a list, PARSING...") html = Youtube.getContentFromUrl(page, "", Youtube.cookie, Youtube.MAIN_URL) x = Youtube.extractListVideos(html) else: link = Youtube.extractTargetVideo(page) element = {} element["title"] = page.replace("&","&") element["link"] = link element["finalLink"] = True x.append(element) return x
def getChannels(page): x = [] if page == '0': keyboard = XBMCUtils.getKeyboard() keyboard.doModal() text = "" if (keyboard.isConfirmed()): text = keyboard.getText() if len(text)>0: page = TuneIn.SEARCH_PAGE+urllib.quote_plus(text) resultHtml = TuneIn.getContentFromUrl(page,ajax=True,referer=TuneIn.MAIN_URL) logger.debug("resultHtml is: "+resultHtml) results = Decoder.extract('"GuideItems": [','"pageTitle": "Search results for ',resultHtml) i=0 for result in results.split('"GuideId": "'): if i>0: element = {} img = Decoder.extract('"Image": "','"',result) link = TuneIn.MAIN_URL+Decoder.extract('"Url": "', '"', result) title = Decoder.extract('"Title": "', '"', result) logger.debug("appending result: "+title+", url: "+link) element["title"] = title element["link"] = link element["thumbnail"] = img element["finalLink"] = True x.append(element) i+=1 else: logger.debug("extracting stream for: "+page) content = TuneIn.getContentFromUrl(url=page,referer=TuneIn.MAIN_URL) logger.debug("list content is: " + content) url = "http://"+Decoder.extract('"StreamUrl":"//','"',content) title = Decoder.extract('"Title": "','"',content) img = Decoder.extract('"Image": "','",',content) logger.debug("url is: " + url) html = TuneIn.getContentFromUrl(url=url,referer=page) logger.debug("decoded html is: "+html) listUrl = Decoder.extract('"Url": "','"',html) element = {} element["link"] = listUrl element["title"] = title element["thumbnail"] = img x.append(element) return x
def getChannels(page): x = [] subpage = RTVE.SUB_PAGE currentPage = page if str(page) == '0': page = "100" currentPage = page arr = [str(page),str(page)] #page - subpage subpage = subpage % tuple(arr) page = RTVE.MAIN_URL + subpage # final parse elif '.search' in str(page): keyboard = XBMCUtils.getKeyboard() keyboard.doModal() text = "" if (keyboard.isConfirmed()): text = keyboard.getText() page = text pageInt = page[0:1]+"00" arr = [str(pageInt), str(page)] # page - subpage subpage = subpage % tuple(arr) currentPage = text page = RTVE.MAIN_URL + subpage # final parse else: logger.debug("Nothing done for page: "+str(page)) subpage = page[page.rfind("/")+1:] subpage = subpage[:subpage.rfind("_")] logger.debug("Subpage is: " + str(subpage)) currentPage = subpage page = page.replace("/"+subpage+"/","/"+currentPage+"/") element = {} element["link"] = RTVE.MAIN_URL+".search" element["title"] = XBMCUtils.getString(10013) x.append(element) html = RTVE.getContentFromUrl(url=page,referer=RTVE.MAIN_URL) element = {} element["thumbnail"] = Decoder.extract('<img id="FABTTXImage" src="','"',html) if "://" not in element["thumbnail"]: thumbnailPage = element["thumbnail"][:element["thumbnail"].find("_")] element["thumbnail"] = RTVE.MAIN_URL+(thumbnailPage[0:1]+"00")+"/"+element["thumbnail"] x.append(element) teletextHtml = Decoder.extract('<span class="LB">','</span>',html) x2 = RTVE.extractElements(currentPage,teletextHtml) x.extend(x2) return x
def displayBBCTeletext(url, page, version): logger.debug("displaying teletext for BBC1 provider") imgPath = "http://www.ceefax.tv/cgi-bin/gfx.cgi?font=big&channel=bbc" + version + "&page=100_0" # first if ".search" in url: keyboard = XBMCUtils.getKeyboard() keyboard.doModal() text = "" if keyboard.isConfirmed(): text = keyboard.getText() imgPath = imgPath[: imgPath.rfind("100_")] + text + "_0" imgPath = "http://anonymous-images-proxy.com/proxy.php?url=" + urllib.quote(imgPath) add_dir( "bbc" + version + ".search", "bbc" + version + ".search", 4, "bbc" + version + "teletext.search", "teletext", "bbc" + version + "teletext.search", ) # finally show img (before render, xbmc will wait until some event happens) displayImg(imgPath)
def getChannels(page): x = [] logger.debug("using Mobdro...") if str(page) == '0': element = {} element["title"]="Channels" element["link"] = "channels" x.append(element) element = {} element["title"] ="News" element["link"] = "news" x.append(element) element = {} element["title"] = "Shows" element["link"] = "shows" x.append(element) element = {} element["title"] = "Movies" element["link"] = "movies" x.append(element) element = {} element["title"] = "Sports" element["link"] = "sports" x.append(element) element = {} element["title"] = "Music" element["link"] = "music" x.append(element) element = {} element["title"] = "Gaming" element["link"] = "gaming" x.append(element) element = {} element["title"] = "Animals" element["link"] = "animals" x.append(element) element = {} element["title"] = "Tech" element["link"] = "tech" x.append(element) element = {} element["title"] = "Podcasts" element["link"] = "podcasts" #x.append(element) element = {} element["title"] = "Spiritual" element["link"] = "spiritual" #x.append(element) element = {} element["title"] = "Others" element["link"] = "others" x.append(element) element = {} element["title"] = "Search" element["link"] = "search" #x.append(element) #TODO elif str(page) is not 'search': #action logger.debug("launching action: "+page) response = Mobdro.channel_list(page) x = Mobdro.parse_results(response) elif str(page) == "search": #search logger.debug("launching action: SEARCH") # display keyboard, it will wait for result keyboard = XBMCUtils.getKeyboard() keyboard.doModal() text = "" if (keyboard.isConfirmed()): text = keyboard.getText() response = Mobdro.search_list(text) x = Mobdro.parse_results(response) return x
def getChannels(page="",cookie=""): x = [] ##main has sections: nuevos lanzamientos, episodios estrenos, peliculas mas vistas, series mas listas, peliculas actualizadas, episodios actualizados and "Search" if cookie=="": cookie = HdfullTv.getNewCookie() logger.debug("page: "+page) if(page=="0"): itemFirst = {} itemFirst["title"] = 'Últimos Emitidos' itemFirst["permalink"] = 'episodios#latest' x.append(itemFirst) itemFirst2 = {} itemFirst2["title"] = 'Episodios Estreno' itemFirst2["permalink"] = 'episodios#premiere' x.append(itemFirst2) itemFirst3 = {} itemFirst3["title"] = 'Episodios Actualizados' itemFirst3["permalink"] = 'episodios#updated' x.append(itemFirst3) itemFirst4 = {} itemFirst4["title"] = 'Películas Estreno' itemFirst4["permalink"] = 'peliculas-estreno' x.append(itemFirst4) itemFirst5 = {} itemFirst5["title"] = 'Películas Actualizadas' itemFirst5["permalink"] = 'peliculas-actualizadas' x.append(itemFirst5) itemFirst6 = {} itemFirst6["title"] = XBMCUtils.getString(11018) itemFirst6["permalink"] = "search" x.append(itemFirst6) elif page=='http://hdfull.tv/episodios#latest': html = HdfullTv.getJSONAJAXResponse("http://hdfull.tv/a/episodes",{"action":"latest","start":"0","limit":"24","elang":"ALL"},cookie).read() #print html x = json.loads(html) elif page=='http://hdfull.tv/episodios#premiere': html = HdfullTv.getJSONAJAXResponse("http://hdfull.tv/a/episodes",{"action":"premiere","start":"0","limit":"24","elang":"ALL"},cookie).read() x = json.loads(html) elif page=='http://hdfull.tv/episodios#updated': html = HdfullTv.getJSONAJAXResponse("http://hdfull.tv/a/episodes",{"action":"updated","start":"0","limit":"24","elang":"ALL"},cookie).read() x = json.loads(html) elif page=='http://hdfull.tv/peliculas-estreno': html = HdfullTv.getContentFromUrl("http://hdfull.tv/peliculas-estreno") #print html x = HdfullTv.extractItems(html) elif page=='http://hdfull.tv/peliculas-actualizadas': html = HdfullTv.getContentFromUrl("http://hdfull.tv/peliculas-actualizadas") x = HdfullTv.extractItems(html) elif page=='http://hdfull.tv/search': #display keyboard, it will wait for result keyboard = XBMCUtils.getKeyboard() keyboard.doModal() text = "" if (keyboard.isConfirmed()): text = keyboard.getText() x = HdfullTv.search(text) elif page.find("http://hdfull.tv/serie/")>-1 and page.find("episodio-")==-1: #proccess serie article, could be: 1) obtain seasons 2) obtains chapters from a season #temporada-2/episodio-2 if page.find("/temporada-")==-1: html = HdfullTv.getContentFromUrl(page) x = HdfullTv.extractSeasons(html,page) else: season = page[page.find("temporada-")+len("temporada-"):] html = HdfullTv.getContentFromUrl(page) sid = Decoder.extract("var sid = '","'",html) #fix for hardcoded value '126', it was the internal series id, now works fine bruteJson = HdfullTv.getJSONAJAXResponse("http://hdfull.tv/a/episodes",{"action":"season","limit":"0","season":season,"show":sid,"start":"0"},cookie).read() x = json.loads(bruteJson) else: x = HdfullTv.extractProvidersFromLink(page,cookie) return x