예제 #1
0
 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
예제 #2
0
 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 '&amp;list=' in page and '&amp;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("&amp;","&")
         element["link"] = link
         element["finalLink"] = True
         x.append(element)
     return x
예제 #3
0
파일: tunein.py 프로젝트: harddevelop/tvbox
 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
예제 #4
0
파일: rtve.py 프로젝트: harddevelop/tvbox
 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
예제 #5
0
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)
예제 #6
0
파일: mobdro.py 프로젝트: harddevelop/tvbox
 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
예제 #7
0
    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