Esempio n. 1
0
def radiosobterurlstream(name,url):
    #GA("None","Radio - " + name)
    mensagemprogresso.create('TV Portuguesa','A carregar...')
    mensagemprogresso.update(0)
    if re.search('www.radios.pt',url):
        link=abrir_url(url)
        try:
            endereco=re.compile('<param name="url" value="(.+?)"').findall(link)[0]
        except:
            xbmc.executebuiltin("XBMC.Notification(Fightnight Music,Não é possível ouvir esta rádio.,'500000',)")
            return
        idradio=url.replace('http://www.radios.pt/portalradio/Sintonizador/?radio_id=','').replace('&scope=0','')
        thumbnail='http://www.radio.com.pt/APR.ROLI.WEB/Images/Logos/'+ idradio +'.gif'
    else:
        urlfinal='http://www.radioonline.com.pt/ajax/player.php?clear_s_name=' + url
        link= clean(abrir_url(urlfinal))
        try: player=re.compile('soundManager.createSound\({(.+?)autoLoad').findall(link)[0]
        except: player=False
        try:
            endereco=re.compile('url: "(.+?)"').findall(player)[0].replace(';','')
            if re.search('serverURL',player):
                rtmp=re.compile('serverURL: "(.+?)"').findall(player)[0]
                #rtmp=rtmp.replace('rtmp://195.23.102.206','rtmp://195.23.102.209') #tempfix
                rtmp=rtmp.replace(':1936','') #tempfix
                endereco=rtmp + ' playPath=' + endereco

        except:endereco=False
        if not endereco:
            try:endereco=re.compile('<param name="URL" value="(.+?)"').findall(link)[0]
            except:
                try: endereco=re.compile('<object data="(.+?)"').findall(link)[0]
                except: endereco=False

        if not endereco:
            xbmc.executebuiltin("XBMC.Notification(TV Portuguesa,Não é possível ouvir esta rádio.,'500000',)")
            mensagemprogresso.close()
            return

        try:thumbnail=re.compile('<img id="station-logo-player" src="(.+?)"').findall(link)[0]
        except: thumbnail=''
        if re.search('.asx',endereco):
            nomeasx='stream.asx'
            path = xbmc.translatePath(os.path.join(pastaperfil))
            lib=os.path.join(path, nomeasx)
            downloader(endereco,lib)
            texto= openfile(nomeasx)
            endereco = xbmc.PlayList(1)
            endereco.clear()
            streams=re.compile('<ref.+?"(.+?)"/>').findall(texto)
            for musica in streams:
                listitem = xbmcgui.ListItem(name, iconImage="DefaultVideo.png", thumbnailImage=thumbnail)
                listitem.setInfo("music", {"Title":name})
                endereco.add(musica,listitem)
        else: pass
    mensagemprogresso.close()
    listitem = xbmcgui.ListItem(name, iconImage="DefaultVideo.png", thumbnailImage=thumbnail)
    listitem.setInfo("music", {"Title":name})
    xbmc.Player().play(endereco,listitem)
Esempio n. 2
0
def comecarvideo2(finalurl,name,directo,zapping,thumb=''):
    if thumb=='':thumb=tvporpath + art + 'vercanais-ver2.png'
    listacanaison=selfAddon.getSetting("listacanais2")
    siglacanal=''
    namega=name.replace('-','')
    #GA("player",namega)
    if directo==True:
        thumb=name.replace('Mais TVI-','maistvi-ver2.png').replace('AXN-','axn-ver2.png').replace('FOX-','fox-ver2.png').replace('RTP 1-','rtp1-ver2.png').replace('RTP 2-','rtp2-ver2.png').replace('SIC-','sic-ver3.png').replace('SPORTTV 1-','sptv1-ver2.png').replace('SPORTTV 1 HD-','sptvhd-ver2.png').replace('SPORTTV 2-','sptv2-ver2.png').replace('SPORTTV 3-','sptv3-ver2.png').replace('SPORTTV 4-','sptv4-ver2.png').replace('SPORTTV 5-','sptv5-ver2.png').replace('SPORTTV LIVE-','sptvlive-ver1.png').replace('TVI-','tvi-ver2.png').replace('Discovery Channel-','disc-ver2.png').replace('AXN Black-','axnb-ver2.png').replace('AXN White-','axnw-ver2.png').replace('FOX Crime-','foxc-ver2.png').replace('FOX Life-','foxl-ver3.png').replace('FOX Movies-','foxm-ver2.png').replace('Eurosport-','eusp-ver2.png').replace('Hollywood-','hwd-ver2.png').replace('MOV-','mov-ver2.png').replace('Canal Panda-','panda-ver2.png').replace('VH1-','vh1-ver2.png').replace('Benfica TV 1-','btv1-ver1.png').replace('Benfica TV 2-','btv2-ver1.png').replace('Porto Canal-','pcanal-ver2.png').replace('Big Brother VIP-','bbvip-ver2.png').replace('SIC K-','sick-ver2.png').replace('SIC Mulher-','sicm-ver3.png').replace('SIC Noticias-','sicn-ver2.png').replace('SIC Radical-','sicrad-ver2.png').replace('TVI24-','tvi24-ver2.png').replace('TVI Ficção-','tvif-ver2.png').replace('Syfy-','syfy-ver1.png').replace('Odisseia-','odisseia-ver1.png').replace('História-','historia-ver1.png').replace('National Geographic Channel-','natgeo-ver1.png').replace('MTV-','mtv-ver1.png').replace('CM TV-','cmtv-ver1.png').replace('RTP Informação-','rtpi-ver1.png').replace('Disney Channel-','disney-ver1.png').replace('Motors TV-','motors-ver1.png').replace('ESPN-','espn-ver1.png').replace('Fashion TV-','fash-ver1.png').replace('A Bola TV-','abola-ver1.png').replace('Casa dos Segredos 5-','casadseg-ver1.png').replace('RTP Açores-','rtpac-ver1.png').replace('RTP Internacional-','rtpint-ver1.png').replace('RTP Madeira-','rtpmad-ver1.png').replace('RTP Memória-','rtpmem-ver1.png').replace('RTP Africa-','rtpaf-ver1.png').replace('Panda Biggs-','pbiggs-ver1.png').replace('TV Record-','record-v1.png').replace('TV Globo-','globo-v1.png').replace('Eurosport 2-','eusp2-ver1.png').replace('Discovery Turbo-','discturbo-v1.png').replace('Toros TV-','toros-v1.png').replace('Chelsea TV-','chel-v1.png').replace('Disney Junior-','djun-ver1.png').replace('Económico TV-','econ-v1.png').replace('Caça e Pesca-','cacapesca-v1.png').replace('Sporting TV-','scptv-ver1.png').replace('Euronews-','euronews-ver1.png').replace('TPA Internacional-','tpa-ver1.png').replace('ARTV-','artv-ver1.png').replace('TRACE Urban-','traceu.png').replace('Virgin Radio TV-','virginr.png').replace('DJing TV-','djingtv.png')
        name=name.replace('-','')
        progname=name

        siglacanal=name.replace('SPORTTV 1','SPTV1').replace('SPORTTV 2','SPTV2').replace('SPORTTV 3','SPTV3').replace('SPORTTV 4','SPTV4').replace('SPORTTV 5','SPTV5').replace('SPORTTV LIVE','SPTVL').replace('Discovery Channel','DISCV').replace('AXN Black','AXNBL').replace('AXN White','AXNWH').replace('FOX Crime','FOXCR').replace('FOX Life','FLIFE').replace('FOX Movies','FOXM').replace('Eurosport','EURSP').replace('Hollywood','HOLLW').replace('Canal Panda','PANDA').replace('Benfica TV 1','SLB').replace('Benfica TV 2','SLB2').replace('Porto Canal','PORTO').replace('SIC K','SICK').replace('SIC Mulher','SICM').replace('SIC Noticias','SICN').replace('SIC Radical','SICR').replace('TVI24','TVI24').replace('TVI Ficção','TVIFIC').replace('Mais TVI','SEM').replace('Syfy','SYFY').replace('Odisseia','ODISS').replace('História','HIST').replace('National Geographic Channel','NGC').replace('MTV','MTV').replace('CM TV','CMTV').replace('RTP Informação','RTPIN').replace('Disney Channel','DISNY').replace('Motors TV','MOTOR').replace('ESPN America','SEM').replace('Fashion TV','FASH').replace('MOV','SEM').replace('A Bola TV','ABOLA').replace('Panda Biggs','BIGGS').replace('RTP 1','RTP1').replace('RTP 2','RTP2').replace('RTP Açores','RTPAC').replace('RTP Madeira','RTPMD').replace('RTP Memória','RTPM').replace('Disney Junior','DISNYJ').replace('RTP Africa','RTPA').replace('Económico TV','ETVHD').replace('Chelsea TV','CHELS').replace('TV Globo','GLOBO').replace('TV Record','TVREC').replace('Eurosport 2','EURS2').replace('Discovery Turbo','DISCT').replace('Toros TV','TOROTV').replace('Caça e Pesca','CAÇAP').replace('Sporting TV','SCP').replace('TPA Internacional','TPA')
        listitem = xbmcgui.ListItem(progname, iconImage="DefaultVideo.png", thumbnailImage=tvporpath + art + thumb)
    else: listitem = xbmcgui.ListItem(name, iconImage="DefaultVideo.png", thumbnailImage=thumb)
    if zapping==True and not re.search('.f4m',finalurl):
        #conteudoficheiro=openfile(('zapping'))
        #savefile(('zapping', conteudoficheiro + '_comeca_' + name + '_nomecanal_' + finalurl + '_thumb_' + thumb + '_acaba_'))
        iniciagravador(finalurl,siglacanal,name,directo)
    else:

        if re.search('.f4m',finalurl):
            from resources.lib.proxyf4m import f4mProxyHelper
            helper=f4mProxyHelper()
            finalurl,spscpid = helper.start_proxy(finalurl, name)
        else:
            #finalurl,spscpid=libalternativo(finalurl)
            spscpid='nada'

        playlist = xbmc.PlayList(1)
        playlist.clear()
        listitem.setInfo("Video", {"Title":name})
        listitem.setProperty('IsPlayable', 'true')
        if finalurl=='http://live.2caster.com:1935/live/sica/playplist.m3u8':finalurl=''
        playlist.add(finalurl, listitem)
        xbmcplugin.setResolvedUrl(int(sys.argv[1]),True,listitem)
        mensagemprogresso.close()
        dialogWait = xbmcgui.DialogProgress()
        dialogWait.create('TV Portuguesa', 'A carregar...')
        dialogWait.close()
        del dialogWait

        player = Player(finalurl=finalurl,name=name,siglacanal=siglacanal,directo=directo,spscpid=spscpid)
        if "RunPlugin" in finalurl:
            xbmc.executebuiltin(finalurl)
        else:

            player.play(playlist)
            lat123 = menulateral("menulateral.xml" , tvporpath, "Default",finalurl=finalurl,name=name,siglacanal=siglacanal,directo=directo)

            while player.is_active:
                if listacanaison == "true":
                    if xbmc.getCondVisibility('Window.IsActive(videoosd)') and directo==True:
                        xbmc.executebuiltin('XBMC.Control.Move(videoosd,9999)')
                        lat123.doModal()
                        while xbmc.getCondVisibility('Window.IsActive(videoosd)'): pass
                player.sleep(1000)
Esempio n. 3
0
def canais():
    librtmpwindow()
    info_servidores()

    nrcanais = 62
    canaison = []
    empty = 'nada'
    #GA("None","listacanais")
    if selfAddon.getSetting("prog-lista3") == "true":
        mensagemprogresso.create('TV Portuguesa',
                                 'A carregar listas de programação.',
                                 'Por favor aguarde.')
        mensagemprogresso.update(0)
        if mensagemprogresso.iscanceled(): sys.exit(0)
        programas = p_todos()
        mensagemprogresso.close()
    else:
        programas = []

    sintomecomsorte()

    if activado == True:
        addCanal("[B]Lista Completa[/B]", empty, 16,
                 tvporpath + art + 'gravador-ver1.png', nrcanais, '')
    addDir("[B][COLOR white]Informações[/COLOR][/B]", 'nada', 1,
           tvporpath + art + 'defs-ver2.png', 1,
           'Clique aqui para voltar ao menu principal.', True)
    if selfAddon.getSetting("listas-pessoais") == "true":
        addDir("[B][COLOR white]Listas Pessoais[/COLOR][/B]", 'nada', 6,
               tvporpath + art + 'listas-ver2.png', 1,
               'Outras listas de canais criadas pela comunidade.', True)

    if selfAddon.getSetting("radios") == "true":
        addDir("[B][COLOR white]Radios[/COLOR][/B]", 'nada', 19,
               tvporpath + art + 'radios-v1.png', 1,
               'Oiça comodamente radios nacionais.', True)
    if selfAddon.getSetting("eventos") == "true":
        canaison.append('[B][COLOR white]Eventos[/COLOR][/B]')
        changeview()
    if selfAddon.getSetting("praias") == "true":
        addDir("[B][COLOR white]Praias[/COLOR][/B]", 'nada', 26,
               tvporpath + art + 'versao-ver2.png', 1,
               'Webcams das melhores praias nacionais.', True)

    setupCanais(canaison, empty, nrcanais, programas)

    try:
        canaison = ''.join(canaison)
        savefile('canaison', canaison)
    except:
        pass

    vista_canais()
    xbmcplugin.setContent(int(sys.argv[1]), 'livetv')
def todosact(parametro):
    LOLI=['<item>\n<title>Actualizado: ' + horaportuguesa(True).replace('%20',' ') + '</title>\n<link>nada</link>\n<thumbnail>nada</thumbnail>\n</item>']
    dialog = xbmcgui.Dialog()
    mensagemprogresso.create('TV Portuguesa', 'A criar lista.','Por favor aguarde...')
    if re.search('Lista Completa',parametro):
        canaison= openfile(('canaison'))
        canaison=canaison.replace('[','')
        lista=re.compile('B](.+?)/B]').findall(canaison)
        tamanhototal=int(len(lista))
        tamanho=int(-1)
        for nomes in lista:
            tamanho=tamanho+1
            tamanhoenviado=(tamanho*100)/tamanhototal
            print "Lista completa: Canal " + nomes
            global activadoextra
            activadoextra=[]
            SIM= request_servidores('ignore','[B]' + nomes + '[/B]',tamanho=tamanhoenviado)
            LOLI.append(SIM)
            AGORA='\n\n'.join(LOLI)
    else:
        SIM= request_servidores('ignore',parametro)
        LOLI.append(SIM)
        AGORA='\n\n'.join(LOLI)

    mensagemprogresso.close()

    debugfinal='\n'.join(debug)
    savefile('problema',debugfinal)

    keyb = xbmc.Keyboard('', 'Nome do ficheiro da lista')
    keyb.doModal()
    if (keyb.isConfirmed()):
        nomelista = keyb.getText()
        if nomelista=='': nomelista='lista'
    else: nomelista='lista'
    pastafinal = dialog.browse(int(0), "Local para guardar xml/m3u", 'myprograms')
    if not pastafinal: sys.exit(0)
    savefile(nomelista + '.xml',AGORA,pastafinal=pastafinal)
    m3uprep=['#EXTM3U#EXTM3U']
    openedfile= clean(AGORA)
    ya=re.compile('<item>(.+?)</item>').findall(openedfile)
    for lol in ya:
        chname=re.compile('<title>(.+?)</title>').findall(lol)[0]
        allstreams=False
        if allstreams==True:
            streams=re.compile('<link>(.+?)</link>').findall(lol)
            for umporum in streams:
                m3uprep.append('\n#EXTINF:-1,%s\n%s' % (chname,umporum))
        else:
            streams=re.compile('<link>(.+?)</link>').findall(lol)[0]
            m3uprep.append('\n#EXTINF:-1,%s\n%s' % (chname,streams))
    m3uprep='\n'.join(m3uprep)
    savefile(nomelista + '.m3u',m3uprep,pastafinal=pastafinal)
    xbmc.executebuiltin("XBMC.Notification(TV Portuguesa, Lista xml/m3u gravada,'100000'," + tvporpath + art + "icon32-ver1.png)")
Esempio n. 5
0
def canais():
    librtmpwindow()
    info_servidores()

    nrcanais=62
    canaison=[]
    empty='nada'
    #GA("None","listacanais")
    if selfAddon.getSetting("prog-lista3") == "true":
        mensagemprogresso.create('TV Portuguesa', 'A carregar listas de programação.','Por favor aguarde.')
        mensagemprogresso.update(0)
        if mensagemprogresso.iscanceled(): sys.exit(0)
        programas=p_todos()
        mensagemprogresso.close()
    else: programas=[]

    sintomecomsorte()

    if activado==True: addCanal("[B]Lista Completa[/B]",empty,16,tvporpath + art + 'gravador-ver1.png',nrcanais,'')
    addDir("[B][COLOR white]Informações[/COLOR][/B]",'nada',1,tvporpath + art + 'defs-ver2.png',1,'Clique aqui para voltar ao menu principal.',True)
    if selfAddon.getSetting("listas-pessoais") == "true":
        addDir("[B][COLOR white]Listas Pessoais[/COLOR][/B]",'nada',6,tvporpath + art + 'listas-ver2.png',1,'Outras listas de canais criadas pela comunidade.',True)

    if selfAddon.getSetting("radios") == "true": addDir("[B][COLOR white]Radios[/COLOR][/B]",'nada',19,tvporpath + art + 'radios-v1.png',1,'Oiça comodamente radios nacionais.',True)
    if selfAddon.getSetting("eventos") == "true": canaison.append('[B][COLOR white]Eventos[/COLOR][/B]'); changeview()
    if selfAddon.getSetting("praias") == "true": addDir("[B][COLOR white]Praias[/COLOR][/B]",'nada',26,tvporpath + art + 'versao-ver2.png',1,'Webcams das melhores praias nacionais.',True)

    setupCanais(canaison, empty, nrcanais, programas)

    try:
        canaison=''.join(canaison)
        savefile('canaison', canaison)
    except: pass

    vista_canais()
    xbmcplugin.setContent(int(sys.argv[1]), 'livetv')
def pre_resolvers(titles,ligacao,index,nome,tamanho=0,zapping=False):
    marcador='A iniciar pre resolvers'
    try:
        sys.argv[2]=sys.argv[2]+ titles[index]
        if activado==True: mensagemprogresso.update(tamanho,'A criar lista. ' + nome+ ' ' + titles[index],'Por favor aguarde...')

        nomeserver=nome.replace('ç','c').replace('ã','a').replace('ó','o') + ' ' + titles[index]
        linkescolha=ligacao[index]
        if linkescolha:
            if re.search('api.torrent-tv.ru',linkescolha):
                marcador="Pre-catcher: torrent-tv"; print marcador
                if xbmc.getCondVisibility("System.HasAddon(plugin.video.p2p-streams)"):
                    link= clean(abrir_url_cookie(linkescolha))
                    if re.search('SPORTTV 1',nome): hname='Sport TV 1'
                    elif re.search('SPORTTV 2',nome): hname='Sport TV 2'
                    elif re.search('SPORTTV 3',nome): hname='Sport TV 3'
                    elif re.search('SPORTTV 4',nome): hname='Sport TV 4'
                    elif re.search('SPORTTV 5',nome): hname='Sport TV 5'
                    else: hname='non'
                    streamurl='plugin://plugin.video.p2p-streams/?url='+re.compile(hname+'.+?acestream://(.+?)#').findall(link)[0]+'&mode=1&name='+name
                    comecarvideo(streamurl,name,True,zapping)
                else:
                    if activado==False: mensagemok('TV Portuguesa','Precisa de instalar o addon p2p-streams!','Veja aqui como fazer:','http://bit.ly/p2p-instalar')

            elif re.search('estadiofutebol',linkescolha):
                marcador="Pre-catcher: tvdez"; print marcador
                link= abrir_url_cookie(linkescolha,forcedns=True)
                if re.search('televisaofutebol',link):
                    codigo=re.compile('<iframe src="http://www.televisaofutebol.com/([^"]+?)"').findall(link)[0]
                    embed='http://www.televisaofutebol.com/' + codigo
                    ref_data = {'Referer': 'http://www.estadiofutebol.com','User-Agent':user_agent}
                    html= abrir_url_tommy(embed,ref_data)
                    descobrirresolver(embed,nome,html,zapping,nomeserver)
                else:
                    descobrirresolver(linkescolha, nome,False,zapping,nomeserver)

            elif re.search('tugastream',linkescolha):
                marcador="Pre-catcher: tugastream"; print marcador
                link= abrir_url_cookie(linkescolha,forcedns=True)
                descobrirresolver(linkescolha, nome,False,zapping,nomeserver)

            elif re.search('altas-emocoes',linkescolha):
                marcador="Pre-catcher: altas emocoes /sporting"; print marcador
                link= abrir_url(linkescolha)
                frame=re.compile('<a href="/([^"]+?)" target="_blank">SPORTING TV.+?</td>').findall(link)[0]
                ref_data = {'Referer': linkescolha,'User-Agent':user_agent}
                frame1=AltasEmocoesURL + frame
                link= abrir_url_tommy(frame1,ref_data)
                frame2='http://www.livesportshd.eu/' + re.compile('src="http://www.livesportshd.eu/([^"]+?)"').findall(link)[0]
                ref_data = {'Referer': frame1,'User-Agent':user_agent}

                link= abrir_url_tommy(frame2,ref_data)
                #frame=re.compile("src='(.+?)'").findall(link)[0]
                #ref_data = {'Referer': frame2,'User-Agent':user_agent}
                #link= abrir_url_tommy(frame,ref_data)
                descobrirresolver(frame2, nome,link,zapping,nomeserver)

            elif re.search('verlatelegratis',linkescolha):
                marcador="Pre-catcher: verlatelegratis"; print marcador
                temporary=''
                link= abrir_url(linkescolha)
                listacanais=re.compile('<center><iframe.+?src="(.+?)"').findall(link)[0]
                link= abrir_url(listacanais)
                canais=re.compile("javascript:popUp\('(.+?)'").findall(link)
                for temp in canais:
                    if re.search('toro',temp) and re.search('Toros TV',nome):temporary=temp
                    if re.search('pesca',temp) and re.search('Caça e Pesca',nome) :temporary=temp
                if temporary!='':
                    if re.search('http://',temporary): baseurl=temporary
                    else:baseurl='/'.join(listacanais.split('/')[:-1]) + temporary
                    ref_data = {'Referer': listacanais,'User-Agent':user_agent}
                    link= abrir_url_tommy(baseurl,ref_data)
                    urlfinal=re.compile('<iframe.+?src="(.+?)"').findall(link)[0]
                    ref_data = {'Referer': baseurl,'User-Agent':user_agent}
                    link= abrir_url_tommy(urlfinal,ref_data)
                    descobrirresolver(urlfinal, nome,link,zapping,nomeserver)

            elif re.search('meocanaltv',linkescolha):
                marcador="Pre-catcher: meocanaltv"; print marcador
                embed=linkescolha.replace('canais.php?stream=','embed/') + '.php?width=600&height=450'
                ref_data = {'Referer': linkescolha,'User-Agent':user_agent}
                #html= abrir_url_tommy(embed,ref_data)
                from resources.lib import cloudflare
                html=cloudflare.webpage_request(embed)
                if re.search('embed.js',html):
                    html+= abrir_url_tommy(re.compile('src="([^"]+?)embed.js"').findall(html)[0] + 'embed.js',ref_data).decode('string-escape')
                descobrirresolver(embed,nome,html,zapping,nomeserver)

            elif re.search('tvfree',linkescolha):
                marcador="Pre-catcher: tv a cores"; print marcador
                ref_data = {'Referer': TVCoresURL,'User-Agent':user_agent}
                from resources.lib import cloudflare
                link=cloudflare.webpage_request(linkescolha)
                if re.search('antena.tvfree',link) or re.search('iframe id="player"',link):
                    marcador="Pre-catcher: tv a cores - antena"; print marcador
                    try:frame=re.compile('<iframe id="player"[^>]+?src="([^"]+?)"').findall(link)[0]
                    except:frame=re.compile('<iframe src="([^"]+?)" id="innerIframe"').findall(link)[0]
                    #if not re.search('antena.mytvfree',frame): frame= TVCoresURL + frame
                    ref_data = {'Referer': linkescolha,'User-Agent':user_agent}
                    #frame=frame.replace('http://mytvfree.mehttp://antena.mytvfree.me','http://antena.mytvfree.me/')
                    link= abrir_url_tommy(frame,ref_data)
                    descobrirresolver(frame, nome,link,zapping,nomeserver)

                elif re.search('src="/meocanal.php',link):
                    marcador="Pre-catcher: tv a cores - meocanal"; print marcador
                    tempId=re.compile('<iframe src="/meocanal.php\?id=([^"]+?)"').findall(link)[0]
                    frame = "http://www.meocanaltv.com/embed/"+tempId+".php";
                    ref_data = {'Referer': linkescolha,'User-Agent':user_agent}
                    link= abrir_url_tommy(frame,ref_data)
                    if re.search('embed.js',link):
                        link+= abrir_url_tommy(re.compile('src="([^"]+?)embed.js"').findall(link)[0] + 'embed.js',ref_data).decode('string-escape')
                    descobrirresolver(frame, nome,link,zapping,nomeserver)

                else: descobrirresolver(linkescolha, nome,False,zapping,nomeserver)


            elif re.search('gosporttv',linkescolha):
                marcador="Pre-catcher: thesporttv.eu"; print marcador
                link= clean(abrir_url(linkescolha))
                try:
                    linkcod=re.compile("id='(.+?)'.+?</script><script type='text/javascript' src='"+SptveuURL +"/teste/").findall(link)[0]
                    descobrirresolver(SptveuURL+ '/teste/c0d3r.php?id=' + linkcod,nome,'hdm1.tv',zapping,nomeserver)
                except:
                    frame=re.compile('</p>[^<]*<iframe allowtransparency="true" frameborder="0" scrolling="[^"]+?" src="([^"]+?)"').findall(link)[0]
                    frame=frame.replace('sporttvhdmi.com','gosporttv.com')
                    link= clean(abrir_url(frame))
                    if re.search('var urls = new Array',link):
                        framedupla=re.compile('new Array.+?"(.+?)".+?"(.+?)"').findall(link)[0]
                        if framedupla[0]==framedupla[1]: frame=framedupla[0]
                        else:
                            if activado==True: opcao=True
                            else:opcao= xbmcgui.Dialog().yesno("TV Portuguesa", "Escolha um stream da lista dos disponiveis.", "", "","Stream Extra", 'Stream Principal')
                            if opcao: frame=framedupla[0]
                            else: frame=framedupla[1]

                    descobrirresolver(frame, nome,False,zapping,nomeserver)
            elif re.search('lvshd',linkescolha):
                marcador="Pre-catcher: livesoccerhd"; print marcador
                link= abrir_url(linkescolha)
                linkfinal= limparcomentarioshtml(link,linkescolha)
                endereco=re.compile('<iframe.+?src="(.+?)".+?</iframe></div>').findall(link)[0]
                descobrirresolver(endereco, nome,False,zapping,nomeserver)

            elif re.search('redweb',linkescolha):
                marcador="Pre-catcher: redweb"; print marcador
                c=re.compile('c=(.+?)&').findall(linkescolha)[0]
                s=re.compile('s=(.+?)&').findall(linkescolha)[0]
                i=re.compile('i=(.+?)&').findall(linkescolha)[0]
                form_data = {'c':c,'s':s,'i':i}
                ref_data = {'User-Agent':user_agent}
                html= abrir_url_tommy(RedwebURL + '/monitor.php',ref_data,form_data=form_data)
                descobrirresolver(linkescolha, nome,html,zapping,nomeserver)

            elif re.search('tvtuga',linkescolha):
                marcador="Pre-catcher: tvtuga"; print marcador
                ref_data = {'Referer': TVTugaURL,'User-Agent':user_agent}
                link= abrir_url_tommy(linkescolha,ref_data)
                p = re.compile('<meta.*?>')
                link=p.sub('', link)
                descobrirresolver(linkescolha, nome,link,zapping,nomeserver)

            else: descobrirresolver(linkescolha, nome,False,zapping,nomeserver)

    except Exception:
        if activado==False:
            mensagemprogresso.close()
            mensagemok('TV Portuguesa','Servidor não suportado.')
            (etype, value, traceback) = sys.exc_info()
            print etype
            print value
            print traceback
        else:
            try:debug.append(nomeserver + ' - ' + marcador)
            except: pass
Esempio n. 7
0
def comecarvideo2(finalurl, name, directo, zapping, thumb=''):
    if thumb == '': thumb = tvporpath + art + 'vercanais-ver2.png'
    listacanaison = selfAddon.getSetting("listacanais2")
    siglacanal = ''
    namega = name.replace('-', '')
    #GA("player",namega)
    if directo == True:
        thumb = name.replace('Mais TVI-', 'maistvi-ver2.png').replace(
            'AXN-', 'axn-ver2.png').replace('FOX-', 'fox-ver2.png').replace(
                'RTP 1-',
                'rtp1-ver2.png').replace('RTP 2-', 'rtp2-ver2.png').replace(
                    'SIC-', 'sic-ver3.png'
                ).replace('SPORTTV 1-', 'sptv1-ver2.png').replace(
                    'SPORTTV 1 HD-', 'sptvhd-ver2.png'
                ).replace('SPORTTV 2-', 'sptv2-ver2.png').replace(
                    'SPORTTV 3-', 'sptv3-ver2.png'
                ).replace('SPORTTV 4-', 'sptv4-ver2.png').replace(
                    'SPORTTV 5-', 'sptv5-ver2.png'
                ).replace('SPORTTV LIVE-', 'sptvlive-ver1.png').replace(
                    'TVI-',
                    'tvi-ver2.png').replace(
                        'Discovery Channel-',
                        'disc-ver2.png').replace(
                            'AXN Black-', 'axnb-ver2.png'
                        ).replace(
                            'AXN White-',
                            'axnw-ver2.png'
                        ).replace(
                            'FOX Crime-',
                            'foxc-ver2.png'
                        ).replace('FOX Life-', 'foxl-ver3.png').replace(
                            'FOX Movies-', 'foxm-ver2.png'
                        ).replace(
                            'Eurosport-',
                            'eusp-ver2.png'
                        ).replace(
                            'Hollywood-',
                            'hwd-ver2.png'
                        ).replace(
                            'MOV-',
                            'mov-ver2.png'
                        ).replace(
                            'Canal Panda-',
                            'panda-ver2.png'
                        ).replace(
                            'VH1-',
                            'vh1-ver2.png'
                        ).replace('Benfica TV 1-', 'btv1-ver1.png').replace(
                            'Benfica TV 2-', 'btv2-ver1.png'
                        ).replace(
                            'Porto Canal-',
                            'pcanal-ver2.png'
                        ).replace(
                            'Big Brother VIP-',
                            'bbvip-ver2.png'
                        ).replace(
                            'SIC K-',
                            'sick-ver2.png'
                        ).replace('SIC Mulher-', 'sicm-ver3.png').replace(
                            'SIC Noticias-', 'sicn-ver2.png'
                        ).replace(
                            'SIC Radical-',
                            'sicrad-ver2.png'
                        ).replace(
                            'TVI24-',
                            'tvi24-ver2.png'
                        ).replace('TVI Ficção-', 'tvif-ver2.png').replace(
                            'Syfy-', 'syfy-ver1.png'
                        ).replace('Odisseia-', 'odisseia-ver1.png').replace(
                            'História-', 'historia-ver1.png'
                        ).replace(
                            'National Geographic Channel-', 'natgeo-ver1.png'
                        ).replace(
                            'MTV-',
                            'mtv-ver1.png'
                        ).replace(
                            'CM TV-',
                            'cmtv-ver1.png'
                        ).replace(
                            'RTP Informação-', 'rtpi-ver1.png'
                        ).replace(
                            'Disney Channel-', 'disney-ver1.png'
                        ).replace(
                            'Motors TV-',
                            'motors-ver1.png'
                        ).replace('ESPN-', 'espn-ver1.png').replace(
                            'Fashion TV-', 'fash-ver1.png'
                        ).replace(
                            'A Bola TV-',
                            'abola-ver1.png'
                        ).replace(
                            'Casa dos Segredos 5-',
                            'casadseg-ver1.png'
                        ).replace('RTP Açores-', 'rtpac-ver1.png').replace(
                            'RTP Internacional-',
                            'rtpint-ver1.png'
                        ).replace(
                            'RTP Madeira-',
                            'rtpmad-ver1.png'
                        ).replace(
                            'RTP Memória-',
                            'rtpmem-ver1.png'
                        ).replace('RTP Africa-', 'rtpaf-ver1.png').replace(
                            'Panda Biggs-',
                            'pbiggs-ver1.png'
                        ).replace(
                            'TV Record-',
                            'record-v1.png'
                        ).replace('TV Globo-', 'globo-v1.png').replace(
                            'Eurosport 2-',
                            'eusp2-ver1.png'
                        ).replace(
                            'Discovery Turbo-',
                            'discturbo-v1.png'
                        ).replace('Toros TV-', 'toros-v1.png').replace(
                            'Chelsea TV-',
                            'chel-v1.png').replace(
                                'Disney Junior-',
                                'djun-ver1.png').replace(
                                    'Económico TV-', 'econ-v1.png').replace(
                                        'Caça e Pesca-',
                                        'cacapesca-v1.png').replace(
                                            'Sporting TV-',
                                            'scptv-ver1.png').replace(
                                                'Euronews-',
                                                'euronews-ver1.png').replace(
                                                    'TPA Internacional-',
                                                    'tpa-ver1.png'
                                                ).replace(
                                                    'ARTV-', 'artv-ver1.png'
                                                ).replace(
                                                    'TRACE Urban-',
                                                    'traceu.png').replace(
                                                        'Virgin Radio TV-',
                                                        'virginr.png').replace(
                                                            'DJing TV-',
                                                            'djingtv.png')
        name = name.replace('-', '')
        progname = name

        siglacanal = name.replace('SPORTTV 1', 'SPTV1').replace(
            'SPORTTV 2', 'SPTV2'
        ).replace('SPORTTV 3', 'SPTV3').replace('SPORTTV 4', 'SPTV4').replace(
            'SPORTTV 5', 'SPTV5').replace('SPORTTV LIVE', 'SPTVL').replace(
                'Discovery Channel',
                'DISCV').replace('AXN Black', 'AXNBL').replace(
                    'AXN White',
                    'AXNWH').replace('FOX Crime', 'FOXCR').replace(
                        'FOX Life',
                        'FLIFE').replace('FOX Movies', 'FOXM').replace(
                            'Eurosport', 'EURSP'
                        ).replace('Hollywood', 'HOLLW').replace(
                            'Canal Panda', 'PANDA').replace(
                                'Benfica TV 1',
                                'SLB').replace('Benfica TV 2', 'SLB2').replace(
                                    'Porto Canal', 'PORTO').replace(
                                        'SIC K', 'SICK'
                                    ).replace(
                                        'SIC Mulher',
                                        'SICM'
                                    ).replace('SIC Noticias', 'SICN').replace(
                                        'SIC Radical', 'SICR'
                                    ).replace('TVI24', 'TVI24').replace(
                                        'TVI Ficção', 'TVIFIC'
                                    ).replace(
                                        'Mais TVI', 'SEM'
                                    ).replace(
                                        'Syfy',
                                        'SYFY'
                                    ).replace(
                                        'Odisseia',
                                        'ODISS'
                                    ).replace(
                                        'História',
                                        'HIST'
                                    ).replace(
                                        'National Geographic Channel', 'NGC'
                                    ).replace('MTV', 'MTV').replace(
                                        'CM TV', 'CMTV'
                                    ).replace(
                                        'RTP Informação',
                                        'RTPIN'
                                    ).replace(
                                        'Disney Channel',
                                        'DISNY'
                                    ).replace('Motors TV', 'MOTOR').replace(
                                        'ESPN America',
                                        'SEM'
                                    ).replace(
                                        'Fashion TV',
                                        'FASH'
                                    ).replace(
                                        'MOV', 'SEM'
                                    ).replace('A Bola TV', 'ABOLA').replace(
                                        'Panda Biggs', 'BIGGS'
                                    ).replace('RTP 1', 'RTP1').replace(
                                        'RTP 2', 'RTP2'
                                    ).replace(
                                        'RTP Açores',
                                        'RTPAC'
                                    ).replace('RTP Madeira', 'RTPMD').replace(
                                        'RTP Memória', 'RTPM'
                                    ).replace(
                                        'Disney Junior', 'DISNYJ'
                                    ).replace(
                                        'RTP Africa',
                                        'RTPA'
                                    ).replace(
                                        'Económico TV',
                                        'ETVHD'
                                    ).replace(
                                        'Chelsea TV',
                                        'CHELS'
                                    ).replace(
                                        'TV Globo',
                                        'GLOBO'
                                    ).replace('TV Record', 'TVREC').replace(
                                        'Eurosport 2',
                                        'EURS2').replace(
                                            'Discovery Turbo',
                                            'DISCT').replace(
                                                'Toros TV',
                                                'TOROTV'
                                            ).replace(
                                                'Caça e Pesca',
                                                'CAÇAP').replace(
                                                    'Sporting TV',
                                                    'SCP').replace(
                                                        'TPA Internacional',
                                                        'TPA')
        listitem = xbmcgui.ListItem(progname,
                                    iconImage="DefaultVideo.png",
                                    thumbnailImage=tvporpath + art + thumb)
    else:
        listitem = xbmcgui.ListItem(name,
                                    iconImage="DefaultVideo.png",
                                    thumbnailImage=thumb)
    if zapping == True and not re.search('.f4m', finalurl):
        #conteudoficheiro=openfile(('zapping'))
        #savefile(('zapping', conteudoficheiro + '_comeca_' + name + '_nomecanal_' + finalurl + '_thumb_' + thumb + '_acaba_'))
        iniciagravador(finalurl, siglacanal, name, directo)
    else:

        if re.search('.f4m', finalurl):
            from resources.lib.proxyf4m import f4mProxyHelper
            helper = f4mProxyHelper()
            finalurl, spscpid = helper.start_proxy(finalurl, name)
        else:
            #finalurl,spscpid=libalternativo(finalurl)
            spscpid = 'nada'

        playlist = xbmc.PlayList(1)
        playlist.clear()
        listitem.setInfo("Video", {"Title": name})
        listitem.setProperty('IsPlayable', 'true')
        if finalurl == 'http://live.2caster.com:1935/live/sica/playplist.m3u8':
            finalurl = ''
        playlist.add(finalurl, listitem)
        xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, listitem)
        mensagemprogresso.close()
        dialogWait = xbmcgui.DialogProgress()
        dialogWait.create('TV Portuguesa', 'A carregar...')
        dialogWait.close()
        del dialogWait

        player = Player(finalurl=finalurl,
                        name=name,
                        siglacanal=siglacanal,
                        directo=directo,
                        spscpid=spscpid)
        if "RunPlugin" in finalurl:
            xbmc.executebuiltin(finalurl)
        else:

            player.play(playlist)
            lat123 = menulateral("menulateral.xml",
                                 tvporpath,
                                 "Default",
                                 finalurl=finalurl,
                                 name=name,
                                 siglacanal=siglacanal,
                                 directo=directo)

            while player.is_active:
                if listacanaison == "true":
                    if xbmc.getCondVisibility(
                            'Window.IsActive(videoosd)') and directo == True:
                        xbmc.executebuiltin('XBMC.Control.Move(videoosd,9999)')
                        lat123.doModal()
                        while xbmc.getCondVisibility(
                                'Window.IsActive(videoosd)'):
                            pass
                player.sleep(1000)
Esempio n. 8
0
def pre_resolvers(titles, ligacao, index, nome, tamanho=0, zapping=False):
    marcador = 'A iniciar pre resolvers'
    try:
        sys.argv[2] = sys.argv[2] + titles[index]
        if activado == True:
            mensagemprogresso.update(
                tamanho, 'A criar lista. ' + nome + ' ' + titles[index],
                'Por favor aguarde...')

        nomeserver = nome.replace('ç', 'c').replace('ã', 'a').replace(
            'ó', 'o') + ' ' + titles[index]
        linkescolha = ligacao[index]
        if linkescolha:
            if re.search('api.torrent-tv.ru', linkescolha):
                marcador = "Pre-catcher: torrent-tv"
                print marcador
                if xbmc.getCondVisibility(
                        "System.HasAddon(plugin.video.p2p-streams)"):
                    link = clean(abrir_url_cookie(linkescolha))
                    if re.search('SPORTTV 1', nome): hname = 'Sport TV 1'
                    elif re.search('SPORTTV 2', nome): hname = 'Sport TV 2'
                    elif re.search('SPORTTV 3', nome): hname = 'Sport TV 3'
                    elif re.search('SPORTTV 4', nome): hname = 'Sport TV 4'
                    elif re.search('SPORTTV 5', nome): hname = 'Sport TV 5'
                    else: hname = 'non'
                    streamurl = 'plugin://plugin.video.p2p-streams/?url=' + re.compile(
                        hname + '.+?acestream://(.+?)#').findall(
                            link)[0] + '&mode=1&name=' + name
                    comecarvideo(streamurl, name, True, zapping)
                else:
                    if activado == False:
                        mensagemok('TV Portuguesa',
                                   'Precisa de instalar o addon p2p-streams!',
                                   'Veja aqui como fazer:',
                                   'http://bit.ly/p2p-instalar')

            elif re.search('estadiofutebol', linkescolha):
                marcador = "Pre-catcher: tvdez"
                print marcador
                link = abrir_url_cookie(linkescolha, forcedns=True)
                if re.search('televisaofutebol', link):
                    codigo = re.compile(
                        '<iframe src="http://www.televisaofutebol.com/([^"]+?)"'
                    ).findall(link)[0]
                    embed = 'http://www.televisaofutebol.com/' + codigo
                    ref_data = {
                        'Referer': 'http://www.estadiofutebol.com',
                        'User-Agent': user_agent
                    }
                    html = abrir_url_tommy(embed, ref_data)
                    descobrirresolver(embed, nome, html, zapping, nomeserver)
                else:
                    descobrirresolver(linkescolha, nome, False, zapping,
                                      nomeserver)

            elif re.search('tugastream', linkescolha):
                marcador = "Pre-catcher: tugastream"
                print marcador
                link = abrir_url_cookie(linkescolha, forcedns=True)
                descobrirresolver(linkescolha, nome, False, zapping,
                                  nomeserver)

            elif re.search('altas-emocoes', linkescolha):
                marcador = "Pre-catcher: altas emocoes /sporting"
                print marcador
                link = abrir_url(linkescolha)
                frame = re.compile(
                    '<a href="/([^"]+?)" target="_blank">SPORTING TV.+?</td>'
                ).findall(link)[0]
                ref_data = {'Referer': linkescolha, 'User-Agent': user_agent}
                frame1 = AltasEmocoesURL + frame
                link = abrir_url_tommy(frame1, ref_data)
                frame2 = 'http://www.livesportshd.eu/' + re.compile(
                    'src="http://www.livesportshd.eu/([^"]+?)"').findall(
                        link)[0]
                ref_data = {'Referer': frame1, 'User-Agent': user_agent}

                link = abrir_url_tommy(frame2, ref_data)
                #frame=re.compile("src='(.+?)'").findall(link)[0]
                #ref_data = {'Referer': frame2,'User-Agent':user_agent}
                #link= abrir_url_tommy(frame,ref_data)
                descobrirresolver(frame2, nome, link, zapping, nomeserver)

            elif re.search('verlatelegratis', linkescolha):
                marcador = "Pre-catcher: verlatelegratis"
                print marcador
                temporary = ''
                link = abrir_url(linkescolha)
                listacanais = re.compile(
                    '<center><iframe.+?src="(.+?)"').findall(link)[0]
                link = abrir_url(listacanais)
                canais = re.compile("javascript:popUp\('(.+?)'").findall(link)
                for temp in canais:
                    if re.search('toro', temp) and re.search('Toros TV', nome):
                        temporary = temp
                    if re.search('pesca', temp) and re.search(
                            'Caça e Pesca', nome):
                        temporary = temp
                if temporary != '':
                    if re.search('http://', temporary): baseurl = temporary
                    else:
                        baseurl = '/'.join(
                            listacanais.split('/')[:-1]) + temporary
                    ref_data = {
                        'Referer': listacanais,
                        'User-Agent': user_agent
                    }
                    link = abrir_url_tommy(baseurl, ref_data)
                    urlfinal = re.compile('<iframe.+?src="(.+?)"').findall(
                        link)[0]
                    ref_data = {'Referer': baseurl, 'User-Agent': user_agent}
                    link = abrir_url_tommy(urlfinal, ref_data)
                    descobrirresolver(urlfinal, nome, link, zapping,
                                      nomeserver)

            elif re.search('meocanaltv', linkescolha):
                marcador = "Pre-catcher: meocanaltv"
                print marcador
                embed = linkescolha.replace(
                    'canais.php?stream=',
                    'embed/') + '.php?width=600&height=450'
                ref_data = {'Referer': linkescolha, 'User-Agent': user_agent}
                #html= abrir_url_tommy(embed,ref_data)
                from resources.lib import cloudflare
                html = cloudflare.webpage_request(embed)
                if re.search('embed.js', html):
                    html += abrir_url_tommy(
                        re.compile('src="([^"]+?)embed.js"').findall(html)[0] +
                        'embed.js', ref_data).decode('string-escape')
                descobrirresolver(embed, nome, html, zapping, nomeserver)

            elif re.search('tvfree', linkescolha):
                marcador = "Pre-catcher: tv a cores"
                print marcador
                ref_data = {'Referer': TVCoresURL, 'User-Agent': user_agent}
                from resources.lib import cloudflare
                link = cloudflare.webpage_request(linkescolha)
                if re.search('antena.tvfree', link) or re.search(
                        'iframe id="player"', link):
                    marcador = "Pre-catcher: tv a cores - antena"
                    print marcador
                    try:
                        frame = re.compile(
                            '<iframe id="player"[^>]+?src="([^"]+?)"').findall(
                                link)[0]
                    except:
                        frame = re.compile(
                            '<iframe src="([^"]+?)" id="innerIframe"').findall(
                                link)[0]
                    #if not re.search('antena.mytvfree',frame): frame= TVCoresURL + frame
                    ref_data = {
                        'Referer': linkescolha,
                        'User-Agent': user_agent
                    }
                    #frame=frame.replace('http://mytvfree.mehttp://antena.mytvfree.me','http://antena.mytvfree.me/')
                    link = abrir_url_tommy(frame, ref_data)
                    descobrirresolver(frame, nome, link, zapping, nomeserver)

                elif re.search('src="/meocanal.php', link):
                    marcador = "Pre-catcher: tv a cores - meocanal"
                    print marcador
                    tempId = re.compile(
                        '<iframe src="/meocanal.php\?id=([^"]+?)"').findall(
                            link)[0]
                    frame = "http://www.meocanaltv.com/embed/" + tempId + ".php"
                    ref_data = {
                        'Referer': linkescolha,
                        'User-Agent': user_agent
                    }
                    link = abrir_url_tommy(frame, ref_data)
                    if re.search('embed.js', link):
                        link += abrir_url_tommy(
                            re.compile('src="([^"]+?)embed.js"').findall(link)
                            [0] + 'embed.js', ref_data).decode('string-escape')
                    descobrirresolver(frame, nome, link, zapping, nomeserver)

                else:
                    descobrirresolver(linkescolha, nome, False, zapping,
                                      nomeserver)

            elif re.search('gosporttv', linkescolha):
                marcador = "Pre-catcher: thesporttv.eu"
                print marcador
                link = clean(abrir_url(linkescolha))
                try:
                    linkcod = re.compile(
                        "id='(.+?)'.+?</script><script type='text/javascript' src='"
                        + SptveuURL + "/teste/").findall(link)[0]
                    descobrirresolver(
                        SptveuURL + '/teste/c0d3r.php?id=' + linkcod, nome,
                        'hdm1.tv', zapping, nomeserver)
                except:
                    frame = re.compile(
                        '</p>[^<]*<iframe allowtransparency="true" frameborder="0" scrolling="[^"]+?" src="([^"]+?)"'
                    ).findall(link)[0]
                    frame = frame.replace('sporttvhdmi.com', 'gosporttv.com')
                    link = clean(abrir_url(frame))
                    if re.search('var urls = new Array', link):
                        framedupla = re.compile(
                            'new Array.+?"(.+?)".+?"(.+?)"').findall(link)[0]
                        if framedupla[0] == framedupla[1]:
                            frame = framedupla[0]
                        else:
                            if activado == True: opcao = True
                            else:
                                opcao = xbmcgui.Dialog().yesno(
                                    "TV Portuguesa",
                                    "Escolha um stream da lista dos disponiveis.",
                                    "", "", "Stream Extra", 'Stream Principal')
                            if opcao: frame = framedupla[0]
                            else: frame = framedupla[1]

                    descobrirresolver(frame, nome, False, zapping, nomeserver)
            elif re.search('lvshd', linkescolha):
                marcador = "Pre-catcher: livesoccerhd"
                print marcador
                link = abrir_url(linkescolha)
                linkfinal = limparcomentarioshtml(link, linkescolha)
                endereco = re.compile(
                    '<iframe.+?src="(.+?)".+?</iframe></div>').findall(link)[0]
                descobrirresolver(endereco, nome, False, zapping, nomeserver)

            elif re.search('redweb', linkescolha):
                marcador = "Pre-catcher: redweb"
                print marcador
                c = re.compile('c=(.+?)&').findall(linkescolha)[0]
                s = re.compile('s=(.+?)&').findall(linkescolha)[0]
                i = re.compile('i=(.+?)&').findall(linkescolha)[0]
                form_data = {'c': c, 's': s, 'i': i}
                ref_data = {'User-Agent': user_agent}
                html = abrir_url_tommy(RedwebURL + '/monitor.php',
                                       ref_data,
                                       form_data=form_data)
                descobrirresolver(linkescolha, nome, html, zapping, nomeserver)

            elif re.search('tvtuga', linkescolha):
                marcador = "Pre-catcher: tvtuga"
                print marcador
                ref_data = {'Referer': TVTugaURL, 'User-Agent': user_agent}
                link = abrir_url_tommy(linkescolha, ref_data)
                p = re.compile('<meta.*?>')
                link = p.sub('', link)
                descobrirresolver(linkescolha, nome, link, zapping, nomeserver)

            else:
                descobrirresolver(linkescolha, nome, False, zapping,
                                  nomeserver)

    except Exception:
        if activado == False:
            mensagemprogresso.close()
            mensagemok('TV Portuguesa', 'Servidor não suportado.')
            (etype, value, traceback) = sys.exc_info()
            print etype
            print value
            print traceback
        else:
            try:
                debug.append(nomeserver + ' - ' + marcador)
            except:
                pass
Esempio n. 9
0
def radiosobterurlstream(name, url):
    #GA("None","Radio - " + name)
    mensagemprogresso.create('TV Portuguesa', 'A carregar...')
    mensagemprogresso.update(0)
    if re.search('www.radios.pt', url):
        link = abrir_url(url)
        try:
            endereco = re.compile('<param name="url" value="(.+?)"').findall(
                link)[0]
        except:
            xbmc.executebuiltin(
                "XBMC.Notification(Fightnight Music,Não é possível ouvir esta rádio.,'500000',)"
            )
            return
        idradio = url.replace(
            'http://www.radios.pt/portalradio/Sintonizador/?radio_id=',
            '').replace('&scope=0', '')
        thumbnail = 'http://www.radio.com.pt/APR.ROLI.WEB/Images/Logos/' + idradio + '.gif'
    else:
        urlfinal = 'http://www.radioonline.com.pt/ajax/player.php?clear_s_name=' + url
        link = clean(abrir_url(urlfinal))
        try:
            player = re.compile(
                'soundManager.createSound\({(.+?)autoLoad').findall(link)[0]
        except:
            player = False
        try:
            endereco = re.compile('url: "(.+?)"').findall(player)[0].replace(
                ';', '')
            if re.search('serverURL', player):
                rtmp = re.compile('serverURL: "(.+?)"').findall(player)[0]
                #rtmp=rtmp.replace('rtmp://195.23.102.206','rtmp://195.23.102.209') #tempfix
                rtmp = rtmp.replace(':1936', '')  #tempfix
                endereco = rtmp + ' playPath=' + endereco

        except:
            endereco = False
        if not endereco:
            try:
                endereco = re.compile(
                    '<param name="URL" value="(.+?)"').findall(link)[0]
            except:
                try:
                    endereco = re.compile('<object data="(.+?)"').findall(
                        link)[0]
                except:
                    endereco = False

        if not endereco:
            xbmc.executebuiltin(
                "XBMC.Notification(TV Portuguesa,Não é possível ouvir esta rádio.,'500000',)"
            )
            mensagemprogresso.close()
            return

        try:
            thumbnail = re.compile(
                '<img id="station-logo-player" src="(.+?)"').findall(link)[0]
        except:
            thumbnail = ''
        if re.search('.asx', endereco):
            nomeasx = 'stream.asx'
            path = xbmc.translatePath(os.path.join(pastaperfil))
            lib = os.path.join(path, nomeasx)
            downloader(endereco, lib)
            texto = openfile(nomeasx)
            endereco = xbmc.PlayList(1)
            endereco.clear()
            streams = re.compile('<ref.+?"(.+?)"/>').findall(texto)
            for musica in streams:
                listitem = xbmcgui.ListItem(name,
                                            iconImage="DefaultVideo.png",
                                            thumbnailImage=thumbnail)
                listitem.setInfo("music", {"Title": name})
                endereco.add(musica, listitem)
        else:
            pass
    mensagemprogresso.close()
    listitem = xbmcgui.ListItem(name,
                                iconImage="DefaultVideo.png",
                                thumbnailImage=thumbnail)
    listitem.setInfo("music", {"Title": name})
    xbmc.Player().play(endereco, listitem)
Esempio n. 10
0
def request_servidores(url,name,tamanho=0,gravador=False):
    #if name=='[B]Eventos[/B] (Cesarix/Rominhos)':
    #    obter_lista(name,url)
    #    return

    nomelista=name
    name=name.replace('[','-')
    nome=re.compile('B](.+?)/B]').findall(name)[0]
    nomega=nome.replace('-','')
    #GA("listacanais",nomega)
    titles=[]; ligacao=[]

    if url=='nada' and activado==True: todosact(nomelista)
    else:


        ### CASOS ESPECIAIS ###

        if re.search('Caça e Pesca',nomelista) or re.search('Toros TV',nomelista):
            titles.append('Pontucanal')
            ligacao.append('http://verlatelegratis.com')

        if re.search('Clubbing TV',nomelista):
            titles.append('Clubbing TV Oficial')
            ligacao.append('http://www.clubbingtv.com/jwsubscribe/clubbing.php')

        if re.search('SIC',nomelista):
            titles.append('SIC Oficial')
            if re.search('Noticias',nomelista):ligacao.append('stream://http://213.13.26.7:1936/live/_definst_/sicnoticias/playlist.m3u8')
            else:ligacao.append('stream://http://213.13.26.7:1936/live/_definst_/sic/playlist.m3u8')

        if re.search('TVI',nomelista):
            titles.append('TVI Oficial')
            if re.search('24',nomelista):ligacao.append('http://www.tvi.iol.pt/direto/tvi24')
            else:ligacao.append('http://www.tvi.iol.pt/direto')

        if re.search('Casa dos Segredos',nomelista):
            titles.append('TVI Oficial')
            ligacao.append('http://www.tvi.iol.pt/secretstory/direto')

        if re.search('TV Globo',nomelista):
            titles.append('Look-TVs')
            ligacao.append('http://look-tvs.com/globo/')

        if re.search('TRACE Urban',nomelista):
            titles.append('Trace Oficial')
            ligacao.append('http://www.dailymotion.com/video/x1ahn4f_live-trace-urban_music')

        if re.search('Virgin Radio TV',nomelista):
            titles.append('Virgin Radio TV')
            ligacao.append('stream://http://wow01.105.net/live/virgin1/playlist.m3u8')

        if re.search('DJing TV',nomelista):
            titles.append('DJing TV')
            ligacao.append('stream://http://www.djing.com/tv/noaudio_PT.m3u8')

        if re.search('TPA Internacional',nomelista):
            titles.append('Muntumedia')
            ligacao.append('http://roku.muntumedia.s3.amazonaws.com/playlisttv/T_TPAI.xml')
            titles.append('TPAi Live')
            ligacao.append('http://www.tpai.tv/tpai_rtmp_dynamic_streaming.xml')

        #if re.search('Sporting TV',nomelista):
        #    titles.append('Altas Emoções')
        #    ligacao.append(AltasEmocoesURL)

        #if re.search('SPORTTV 1',nomelista) or re.search('SPORTTV 2',nomelista)or re.search('SPORTTV 3',nomelista) or re.search('SPORTTV 4',nomelista) or re.search('SPORTTV 5',nomelista):
            #titles.append('[B]Torrent-TV.RU (acestream)[/B]')
            #ligacao.append('http://api.torrent-tv.ru/t/BgF2xM3fd1KWxgEVO21eprkQPkZi55b0LosbJU8oeZVikr1wPAmjkV%2ByixKZYNGt')

        if re.search('ARTV',nomelista):
            titles.append('ARTV Oficial')
            ligacao.append('stream://rtsp://www.canal.parlamento.pt/Live')

        #if selfAddon.getSetting("fontes-canalhd") == "true":
        #    try:
        #        canalhdref=int(0)
        #        canalhdlink=openfile('canalhd',pastafinal=cachepath).replace('+','Mais')
        #        nomecanalhd=nome.replace('RTP 1-','RTP 1').replace('RTP 2-','RTP 2').replace('TVI-','TVI').replace('FOX-','FOX').replace('AXN-','AXN').replace('SIC-','SIC').replace('AXN Black-','AXN Black').replace('AXN White-','AXN White').replace('FOX Life-','FOX Life').replace('FOX Crime-','FOX Crime').replace('FOX Movies-','FOX Movies').replace('SPORTTV 1-','Sportv 1').replace('SPORTTV 2-','Sportv 2').replace('SPORTTV 3-','Sportv 3').replace('SPORTTV 4-','Sportv 4').replace('SPORTTV 5-','Sportv 5').replace('Canal Panda-','Canal Panda').replace('Hollywood-','Canal Hollywood').replace('Eurosport-','Eurosport').replace('MOV-','MOV').replace('VH1-','VH1').replace('Porto Canal-','portocanal').replace('SIC Noticias-','Sic Noticias').replace('SIC Radical-','SIC Radical').replace('SIC Mulher-','SIC Mulher').replace('SIC K-','sick').replace('Big Brother VIP-','bigbrothervip').replace('TVI Ficção-','TVI Ficção').replace('Syfy-','Syfy').replace('Benfica TV 1-','Benfica TV').replace('Benfica TV 2-','Benfica TV').replace('CM TV-','cmtv').replace('RTP Africa-','rtpafrica').replace('RTP Informação-','RTP Informação').replace('Fashion TV-','fashiontv').replace('ESPN-','ESPN').replace('RTP Africa-','rtpafrica').replace('RTP Madeira-','rtpmadeira').replace('RTP Internacional-','rtpinternacional').replace('Casa dos Segredos 5-','casadossegredos').replace('Económico TV-','economicotv').replace('Sporting TV-','Sporting TV').replace('Chelsea TV-','Chelsea TV').replace('TVI24-','TVI 24').replace('Mais TVI-','TVI Mais').replace('MTV-','MTV').replace('História-','Canal História').replace('Odisseia-','Odisseia').replace('Discovery Channel-','Discovery Channel').replace('National Geographic Channel-','National Geographic').replace('Disney Channel-','Disney Channel')
        #        canalhd=re.compile('>'+nomecanalhd +'</h2><a href="([^"]+?)"').findall(canalhdlink)
        #        if canalhd:
        #            for codigo in canalhd:
        #                canalhdref=int(canalhdref + 1)
        #                if len(canalhd)==1: canalhd2=str('')
        #                else: canalhd2=' #' + str(canalhdref)
        #                titles.append('CanalHD.tv' + canalhd2)
        #                ligacao.append(CanalHDURL + codigo)
        #    except: pass


        ########################################DESPORTOGRATIS############################
        if selfAddon.getSetting("fontes-desportogratis") == "true":
            try:
                desgrref=int(0)
                desgrlink=openfile('desgratis',pastafinal=cachepath)
                nomedesgr=nome.replace('SPORTTV 1-','1.html').replace('SPORTTV 2-','2.html').replace('SPORTTV 3-','3.html').replace('SPORTTV 4-','4.html').replace('SPORTTV 5-','4.html').replace('SPORTTV LIVE-','4.html').replace('Benfica TV 1-','5.html').replace('Benfica TV 2-','5.html')
                desgr=re.compile('<a href="http://www.desportogratis.com/'+nomedesgr+'" target="iframe"><form>').findall(desgrlink)
                if desgr:
                    for resto in desgr:
                        desgrref=int(desgrref + 1)
                        if len(desgr)==1:
                            desgr2=str('')
                        else:
                            desgr2=' #' + str(desgrref)
                        titles.append('Desporto Grátis' + desgr2)
                        ligacao.append('http://www.desportogratis.com/' + nomedesgr)

            except: pass

        if selfAddon.getSetting("fontes-meocanaltv") == "true":
            try:
                meocanaltv=False
                meocanaltvref=int(0)
                meocanaltvlink=openfile('meocanaltv',pastafinal=cachepath)
                nomemeocanaltv=nome.replace('RTP 1-','RTP 1').replace('RTP 2-','RTP 2').replace('RTP Informação-','RTP INFORMACAO').replace('RTP Africa-','RTP AFRICA').replace('RTP Madeira-','RTP MADEIRA').replace('RTP Internacional-','RTP INTERNACIONAL').replace('RTP Açores-','RTP ACORES').replace('RTP Memória-','RTP MEMORIA').replace('SIC-','SIC').replace('TVI-','TVI').replace('SPORTTV 1-','Sport TV em Direto').replace('Big Brother VIP-','BB VIP').replace('SIC K-','SIC KIDS').replace('SIC Radical-','SIC RADICAL').replace('SIC Mulher-','SIC MULHER').replace('SIC Noticias-','SIC NOTICIAS Online').replace('TVI24-','TVI 24').replace('Hollywood-','HOLLYWOOD').replace('MOV-','CANAL MOV').replace('AXN-','AXN').replace('AXN Black-','AXN BLACK').replace('AXN White-','AXN WHITE').replace('FOX-','FOX').replace('FOX Crime-','FOX CRIME').replace('FOX Life-','FOX LIFE').replace('FOX Movies-','FOX MOVIES').replace('Canal Panda-','CANAL PANDA').replace('Discovery Channel-','DISCOVERY CHANNEL').replace('Eurosport-','EUROSPORT 1').replace('Benfica TV 1-','Benfica TV online').replace('Benfica TV 2-','Benfica TV online').replace('Porto Canal-','PORTO CANAL').replace('Syfy-','SYFY').replace('Odisseia-','CANAL ODISSEIA').replace('História-','CANAL HISTÓRIA').replace('National Geographic Channel-','NATIONAL GEOGRAPHIC').replace('MTV-','MTV').replace('Disney Channel-','DISNEY CHANNEL').replace('Panda Biggs-','PANDA BIGGS').replace('Motors TV-','MOTORS TV').replace('ESPN-','ESPN Online BR').replace('ESPN America-','ESPN Online BR').replace('A Bola TV-','A BOLA TV').replace('Casa dos Segredos 5-','Secret Story 4 em Direto').replace('CM TV-','CM TV').replace('TVI Ficção-','TVI FICCAO').replace('Panda Biggs-','Panda Biggs').replace('Económico TV-','Económico TV - Emissão Online').replace('Disney Junior-','Canal Disney Junior').replace('TV Record-','Record Online ao Vivo').replace('Discovery Turbo-','Discovery Turbo Brasil').replace('Caça e Pesca-','Caza y Pesca').replace('Mais TVI-','+TVI').replace('Eurosport 2-','EUROSPORT 2')
                meocanaltv=re.compile('"(.+?)">%s<' % (nomemeocanaltv)).findall(meocanaltvlink)
                if meocanaltv:
                    for codigo in meocanaltv:
                        meocanaltvref=int(meocanaltvref + 1)
                        if len(meocanaltv)==1: meocanaltv2=str('')
                        else: meocanaltv2=' #' + str(meocanaltvref)
                        titles.append('MEOCanal TV' + meocanaltv2)
                        ligacao.append(MEOURL + codigo)
            except: pass

        ########################################RTPPLAY############################
        if selfAddon.getSetting("fontes-rtpplay") == "true":
            try:
                rtpplay=False
                rtpplayref=int(0)
                rtpplaylink=openfile('rtpplay',pastafinal=cachepath)
                nomertpplay=nome.replace('RTP 1-','rtp1').replace('RTP 2-','rtp2').replace('RTP Informação-','rtpinformacao').replace('RTP Africa-','rtpafrica').replace('RTP Madeira-','rtpmadeira').replace('RTP Internacional-','rtpinternacional').replace('RTP Açores-','rtpacores').replace('RTP Memória-','rtpmemoria')
                rtpplay=re.compile('id="' + nomertpplay + '" title=".+?" href="(.+?)">').findall(rtpplaylink)
                if rtpplay:
                    for codigo in rtpplay:
                        rtpplayref=int(rtpplayref + 1)
                        if len(rtpplay)==1: rtpplay2=str('')
                        else: rtpplay2=' #' + str(rtpplayref)
                        titles.append('RTP Play' + rtpplay2)
                        ligacao.append(RTPURL + codigo)
            except: pass

        ########################################TV A CORES############################
        if selfAddon.getSetting("fontes-tvacores") == "true":
            try:
                tvacoresref=int(0)
                tvacoreslink=openfile('tvacores',pastafinal=cachepath)
                nometvacores=nome.replace('RTP 1-','RTP 1 Online').replace('RTP 2-','RTP 2 Online').replace('SIC-','SIC Online').replace('TVI-','TVI Online').replace('SPORTTV 1-','Sport TV em Direto').replace('Big Brother VIP-','BB VIP').replace('SIC K-','SIC K Online').replace('SIC Radical-','SIC Radical Online').replace('SIC Mulher-','SIC Mulher Online').replace('SIC Noticias-','SIC Noticias Online').replace('TVI24-','TVI24 online').replace('Hollywood-','Canal Hollywood').replace('MOV-','Canal MOV').replace('AXN-','AXN Portugal').replace('AXN Black-','AXN Black Online').replace('AXN White-','AXN White online').replace('FOX-','Fox Online PT').replace('FOX Crime-','FOX Crime Online').replace('FOX Life-','FOX Life Online').replace('FOX Movies-','FOX Movies Portugal').replace('Canal Panda-','Canal Panda').replace('Discovery Channel-','Discovery Channel PT').replace('Eurosport-','Eurosport Portugal').replace('Benfica TV 1-','Benfica TV online').replace('Benfica TV 2-','Benfica TV online').replace('Porto Canal-','Porto Canal - Emissão Online').replace('Syfy-','SYFY Channel Portugal').replace('Odisseia-','Canal Odisseia').replace('História-','Canal Historia Portugal').replace('National Geographic Channel-','National Geographic PT').replace('MTV-','MTV Portugal').replace('RTP Açores-','RTP Açores Online').replace('RTP Africa-','RTP África Online').replace('RTP Informação-','RTP Informação - Emissão Online').replace('RTP Madeira-','RTP Madeira Online').replace('RTP Memória-','RTP Memória').replace('Disney Channel-','Disney Portugal').replace('Panda Biggs-','Panda Biggs').replace('Motors TV-','Motors TV Online').replace('ESPN-','ESPN Online BR').replace('ESPN America-','ESPN Online BR').replace('A Bola TV-','A Bola TV').replace('RTP Africa-','RTP Africa').replace('RTP Madeira-','RTP Madeira').replace('RTP Internacional-','RTP Internacional').replace('RTP Açores-','RTP Açores').replace('A Bola TV-','A Bola TV').replace('Casa dos Segredos 5-','A Casa dos Segredos').replace('CM TV-','CMTV em direto').replace('TVI Ficção-','TVI Ficção online').replace('Panda Biggs-','Panda Biggs').replace('Económico TV-','Económico TV - Emissão Online').replace('Disney Junior-','Canal Disney Junior').replace('TV Record-','Record Online ao Vivo').replace('Discovery Turbo-','Discovery Turbo Brasil').replace('Caça e Pesca-','Caza y Pesca').replace('Sporting TV-','Sporting TV online')
                tvacores=re.compile('<a href="(.*?)">'+nometvacores+'</a>').findall(tvacoreslink)
                if tvacores:
                    for codigo in tvacores:
                        tvacoresref=int(tvacoresref + 1)
                        if len(tvacores)==1: tvacores2=str('')
                        else: tvacores2=' #' + str(tvacoresref)
                        titles.append('TV a Cores' + tvacores2)
                        urlembed=TVCoresURL.replace('http://mytvfree.mehttp://antena.mytvfree.me','http://antena.mytvfree.me/')
                        ligacao.append(TVCoresURL + codigo)
                        #ligacao.append('http://mytvfree.mehttp://antena.mytvfree.me/sic.php')
                        #ligacao.append('http://antena24.com/sic.php')
            except: pass

        ########################################TUGASTREAM############################
        if selfAddon.getSetting("fontes-tugastream") == "true":
            try:
                tugastreamref=int(0)
                tugastreamlink=openfile('tugastream',pastafinal=cachepath)
                nometugastream=nome.replace('RTP 1-','rtp1').replace('RTP 2-','rtp2').replace('TVI-','tvi').replace('FOX-','fox').replace('AXN-','axn').replace('SIC-','sic').replace('AXN Black-','axnblack').replace('AXN White-','axnwhite').replace('FOX Life-','foxlife').replace('FOX Crime-','foxcrime').replace('FOX Movies-','foxmovies').replace('SPORTTV 1-','sporttv1').replace('SPORTTV 2-','sporttv2').replace('SPORTTV 3-','sporttv3').replace('SPORTTV 4-','sporttv4').replace('SPORTTV 5-','sporttv5').replace('Canal Panda-','panda').replace('Hollywood-','hollywood').replace('Eurosport-','eurosport').replace('MOV-','mov').replace('VH1-','vh1').replace('Porto Canal-','portocanal').replace('SIC Noticias-','sicnoticias').replace('SIC Radical-','sicradical').replace('SIC Mulher-','sicmulher').replace('SIC K-','sick').replace('Big Brother VIP-','bigbrothervip').replace('TVI Ficção-','tvificcao').replace('Syfy-','syfy').replace('Benfica TV 1-','benficatv').replace('Benfica TV 2-','benficatv').replace('CM TV-','cmtv').replace('RTP Africa-','rtpafrica').replace('RTP Informação-','rtpinformacao').replace('Fashion TV-','fashiontv').replace('ESPN-','espn').replace('RTP Africa-','rtpafrica').replace('RTP Madeira-','rtpmadeira').replace('RTP Internacional-','rtpinternacional').replace('Casa dos Segredos 5-','casadossegredos').replace('Económico TV-','economicotv')
                tugastream=re.compile('<a href="'+nometugastream + '(.+?)php">').findall(tugastreamlink)
                if tugastream:
                    for codigo in tugastream:
                        tugastreamref=int(tugastreamref + 1)
                        if len(tugastream)==1: tugastream2=str('')
                        else: tugastream2=' #' + str(tugastreamref)
                        titles.append('Tugastream' + tugastream2)
                        ligacao.append(TugastreamURL + nometugastream + codigo + 'php?altura=432&largura=768')
            except: pass

        ########################################TVGENTE############################
        if selfAddon.getSetting("fontes-tvgente") == "true":
            try:
                tvgenteref=int(0)
                tvgentelink = openfile('tvgente')
                nometvgente=nome.replace('SPORTTV 1-','sptv1novo.png').replace('SPORTTV 2-','sptv2novo.png').replace('SPORTTV 3-','sptv3novo.png').replace('SPORTTV 4-','jogooo.png').replace('SPORTTV 5-','sptv511.png').replace('Eurosport-','eurosportnovo.png').replace('Eurosport 2-','eurosport2novo.png').replace('ESPN-','espnnovo.png').replace('RTP 1-','1rtp.png').replace('RTP 2-','rtp2novo.png').replace('RTP Informação-','rtpinfonovo.png').replace('RTP Internacional-','rtp intnovo.png').replace('RTP Memória-','memoriartpnovo.png').replace('RTP Açores-','acoresnovortp.png').replace('RTP Madeira-','madeirartpnovo.png').replace('SIC-','3.gif').replace('SIC Noticias-','sicnnovo.png').replace('TVI-','tvinovo.png').replace('TVI24-','tvi24novo.png').replace('Porto Canal-','portonovo.png').replace('Benfica TV 1-','btvnovo.png').replace('Benfica TV 2-','btvnovo.png').replace('Sporting TV-','sportingtv.png').replace('A Bola TV-','biolatv.png').replace('CM TV-','cmtv.png').replace('Económico TV-','ecnovo.png').replace('FOX-','foxnovo.png').replace('Discovery Channel-','discnovo.png').replace('História-','historia').replace('Casa dos Segredos 5-','casa do putedo1.jpg')
                tvgente=re.compile("\('(.+?)'.+?<img.+?" +nometvgente + '"').findall(tvgentelink)
                nometvgente=nome.replace('SPORTTV 1-','miga1.png').replace('SPORTTV 2-','miga2.png').replace('SPORTTV 3-','miga3.png').replace('SPORTTV 4-','miga 4.png').replace('SPORTTV 5-','miga5.png').replace('Benfica TV 1-','btv11.png').replace('Benfica TV 2-','btv11.png').replace('SIC Noticias-','hd1sic.png').replace('Sporting TV-','testesporting.png')
                tvgente+=re.compile("\('(.+?)'.+?<img.+?" +nometvgente + '"').findall(tvgentelink)

                #new way to get stuff without the need to change source.
                #nometvgente=nome.replace('RTP 1-','RTP 1 Online').replace('RTP 2-','RTP 2 Online').replace('SIC-','SIC Online').replace('TVI-','TVI Online').replace('SPORTTV 1-','Sport TV em Direto').replace('Big Brother VIP-','BB VIP').replace('SIC K-','SIC K Online').replace('SIC Radical-','SIC Radical Online').replace('SIC Mulher-','SIC Mulher Online').replace('SIC Noticias-','SIC Noticias Online').replace('TVI24-','TVI24 online').replace('Hollywood-','Canal Hollywood').replace('MOV-','Canal MOV').replace('AXN-','AXN Portugal').replace('AXN Black-','AXN Black Online').replace('AXN White-','AXN White online').replace('FOX-','Fox Online PT').replace('FOX Crime-','FOX Crime Online').replace('FOX Life-','FOX Life Online').replace('FOX Movies-','FOX Movies Portugal').replace('Canal Panda-','Canal Panda').replace('Discovery Channel-','Discovery Channel PT').replace('Eurosport-','Eurosport Portugal').replace('Benfica TV 1-','Benfica TV online').replace('Benfica TV 2-','Benfica TV online').replace('Porto Canal-','Porto Canal - Emissão Online').replace('Syfy-','SYFY Channel Portugal').replace('Odisseia-','Canal Odisseia').replace('História-','Canal Historia Portugal').replace('National Geographic Channel-','National Geographic PT').replace('MTV-','MTV Portugal').replace('RTP Açores-','RTP Açores Online').replace('RTP Africa-','RTP África Online').replace('RTP Informação-','RTP Informação - Emissão Online').replace('RTP Madeira-','RTP Madeira Online').replace('RTP Memória-','RTP Memória').replace('Disney Channel-','Disney Portugal').replace('Panda Biggs-','Panda Biggs').replace('Motors TV-','Motors TV Online').replace('ESPN-','ESPN Online BR').replace('ESPN America-','ESPN Online BR').replace('A Bola TV-','A Bola TV').replace('RTP Africa-','RTP Africa').replace('RTP Madeira-','RTP Madeira').replace('RTP Internacional-','RTP Internacional').replace('RTP Açores-','RTP Açores').replace('A Bola TV-','A Bola TV').replace('Casa dos Segredos 5-','A Casa dos Segredos').replace('CM TV-','CMTV em direto').replace('TVI Ficção-','TVI Ficção online').replace('Panda Biggs-','Panda Biggs').replace('Económico TV-','Económico TV - Emissão Online').replace('Disney Junior-','Canal Disney Junior').replace('TV Record-','Record Online ao Vivo').replace('Discovery Turbo-','Discovery Turbo Brasil').replace('Caça e Pesca-','Caza y Pesca').replace('Sporting TV-','Sporting TV online')
                #tvgente=re.compile('<a href="(.*?)'+nometvgente+'..htm"').findall(tvgentelink)
                if tvgente:
                    for codigo in tvgente:
                        tvgenteref=int(tvgenteref + 1)
                        if len(tvgente)==1: tvgente2=str('')
                        else: tvgente2=' ' + str(tvgenteref)
                        titles.append('TV Gente' + tvgente2)
                        ligacao.append(codigo)
            except: pass

        if re.search('SPORTTV 1 HD',nomelista) or re.search('SPORTTV 1',nomelista):
            titles.append('TVGO.be')
            ligacao.append(TVGOURL)

        if re.search('SPORTTV 2',nomelista):
            titles.append('TVGO.be')
            ligacao.append(TVGOURL + 'sport2.html')


        ########################################TVTUGA############################
        if selfAddon.getSetting("fontes-tvtuga") == "true":
            try:
                tvtugaref=int(0)
                tvtugalink=openfile('tvtuga',pastafinal=cachepath)

                nometvtuga=nome.replace('RTP 1-','rtp-1').replace('RTP 2-','rtp-2').replace('TVI-','tvi').replace('FOX-','fox').replace('AXN-','axn').replace('SIC-','sic').replace('AXN Black-','axnblack').replace('AXN White-','axn-white').replace('FOX Life-','fox-life').replace('FOX Crime-','fox-crime').replace('FOX Movies-','fox-movies').replace('SPORTTV 1-','sporttv1').replace('SPORTTV 2-','sporttv2').replace('SPORTTV 3-','sporttv3').replace('SPORTTV 4-','sporttvlive').replace('SPORTTV LIVE-','sporttvlive').replace('Canal Panda-','canal-panda').replace('Hollywood-','canal-hollywood').replace('Eurosport-','eurosport').replace('MOV-','mov').replace('VH1-','vh1').replace('Porto Canal-','portocanal').replace('SIC Noticias-','sic-noticias').replace('SIC Radical-','sicradical').replace('SIC Mulher-','sicmulher').replace('SIC K-','sick').replace('Big Brother VIP-','bigbrothervip').replace('TVI Ficção-','tvi-ficcao').replace('Syfy-','syfy').replace('Benfica TV 1-','benfica-tv').replace('Benfica TV 2-','benfica-tv').replace('CM TV-','cm-tv').replace('RTP Africa-','rtp-africa').replace('RTP Informação-','rtp-informacao').replace('Fashion TV-','fashiontv').replace('ESPN-','espn').replace('A Bola TV-','abola-tv').replace('Casa dos Segredos 4-','secret-story-4-casa-dos-segredos').replace('RTP Açores-','rtp-acores').replace('RTP Internacional-','rtp-internacional').replace('RTP Madeira-','rtp-madeira').replace('RTP Memória-','rtp-memoria').replace('TVI24-','tvi-24').replace('Panda Biggs-','panda-biggs').replace('Económico TV-','economico-tv').replace('Eurosport 2-','eurosport-2').replace('Casa dos Segredos 5-','secret-story-5').replace('Euronews-','euronews')

                tvtuga=re.compile('value="http://www.tvtuga.com/'+nometvtuga+'(.+?)">').findall(tvtugalink)
                if tvtuga:
                    for codigo in tvtuga:
                        tvtugaref=int(tvtugaref + 1)
                        if len(tvtuga)==1: tvtuga2=str('')
                        else: tvtuga2=' #' + str(tvtugaref)
                        titles.append('TVTuga' + tvtuga2)
                        ligacao.append(TVTugaURL + '/' + nometvtuga + codigo)
            except: pass


        ########################################TVDEZ############################
        if selfAddon.getSetting("fontes-tvdez") == "true":
            try:
                tvdezref=int(0)
                tvdezlink=openfile('tvdez',pastafinal=cachepath)
                tvdezlink=tvdezlink.replace('+ TVI','Mais TVI')
                nometvdez=nome.replace('RTP 1-','RTP').replace('RTP 2-','RTP 2').replace('FOX-','FOX').replace('AXN-','AXN').replace('AXN Black-','AXN Black').replace('AXN White-','AXN White').replace('FOX Life-','FOX Life').replace('FOX Crime-','FOX Crime').replace('FOX Movies-','FOX Movies').replace('SPORTTV 3-','Sport TV 3').replace('SPORTTV 4-','Sport TV 4').replace('SPORTTV 5-','Sport TV 5').replace('SPORTTV LIVE-','Sporttv Live').replace('Canal Panda-','Canal Panda').replace('Hollywood-','Hollywood').replace('Eurosport-','Eurosport').replace('MOV-','Canal MOV').replace('VH1-','VH1 Hits').replace('Porto Canal-','Porto Canal').replace('SIC Radical-','SIC Radical').replace('SIC Mulher-','SIC Mulher').replace('SIC K-','SIC K').replace('TVI Ficção-','TVI Fic&ccedil;&atilde;o').replace('Discovery Channel-','Discovery Channel').replace('TVI24-','TVI 24').replace('Mais TVI-','Mais TVI').replace('Syfy-','Syfy').replace('Odisseia-','Odisseia').replace('História-','Hist&oacute;ria').replace('National Geographic Channel-','National Geographic').replace('MTV-','MTV').replace('CM TV-','Correio da Manh&atilde; TV').replace('RTP Açores-','RTP A&ccedil;ores').replace('RTP Informação-','RTP Informa&ccedil;&atilde;o').replace('RTP Madeira-','RTP Madeira').replace('RTP Memória-','RTP Mem&oacute;ria').replace('Disney Channel-','Disney Channel').replace('Fashion TV-','Fashion TV').replace('Disney Junior-','Disney Junior').replace('Panda Biggs-','Panda Biggs').replace('Motors TV-','Motors TV').replace('ESPN-','ESPN Brasil').replace('ESPN America-','ESPN').replace('A Bola TV-','A Bola TV').replace('RTP Africa-','RTP Africa').replace('RTP Madeira-','RTP Madeira').replace('RTP Internacional-','RTP Internacional').replace('RTP Memória-','RTP Mem&oacute;ria').replace('RTP Açores-','RTP A&ccedil;ores').replace('Panda Biggs-','Panda Biggs').replace('Económico TV-','Econ&oacute;mico TV').replace('Chelsea TV-','Chelsea TV').replace('Disney Junior-','Disney Junior').replace('TV Globo-','TV Globo').replace('TV Record-','Rede Record').replace('Eurosport 2-','Eurosport 2').replace('Euronews-','EuroNews')
                tvdez=re.compile('<a href="(.+?)" title="'+nometvdez+'">').findall(tvdezlink)
                if not tvdez:
                    nometvdez=nome.replace('SPORTTV 1-','Sport TV 1').replace('SPORTTV 2-','Sport TV 2').replace('SIC-','SIC').replace('TVI-','TVI').replace('SIC Noticias-','SIC Not&iacute;cias').replace('Big Brother VIP-','Big Brother VIP 2013').replace('Benfica TV 1-','Benfica TV').replace('Benfica TV 2-','Benfica TV').replace('Casa dos Segredos 5-','Casa dos segredos 5 - TVI Direct')
                    tvdez=re.compile('<a href="(.+?)" title="'+nometvdez+'">').findall(tvdezlink)
                    nometvdez=nome.replace('SPORTTV 1-','Sporttv em Directo').replace('SPORTTV 2-','Sporttv 2').replace('SIC-','SIC Online - Stream 2').replace('TVI-','TVI Online - Stream 2').replace('SIC Noticias-','SIC Not&iacute;cias Online').replace('Big Brother VIP-','Big Brother Portugal').replace('Benfica TV 1-','Benfica-TV').replace('Benfica TV 2-','Benfica-TV').replace('Casa dos Segredos 5-','Secret Story 5')
                    tvdez+=re.compile('<a href="(.+?)" title="'+nometvdez+'">').findall(tvdezlink)
                    nometvdez=nome.replace('SPORTTV 1-','Sporttv HD')
                    tvdez+=re.compile('<a href="(.+?)" title="'+nometvdez+'">').findall(tvdezlink)
                if tvdez:
                    for codigo in tvdez:
                        tvdezref=int(tvdezref + 1)
                        if len(tvdez)==1: tvdez2=str('')
                        else: tvdez2=' #' + str(tvdezref)
                        titles.append('TVDez' + tvdez2)
                        ligacao.append(TVDezURL + codigo)
            except: pass


        if len(ligacao)==1: index=0
        elif activado==True: index=0
        elif len(ligacao)==0: ok=mensagemok('TV Portuguesa', 'Nenhum stream disponivel.'); return
        else: index = xbmcgui.Dialog().select('Escolha o servidor', titles)
        if index > -1:
            if activado==False:
                mensagemprogresso.create('TV Portuguesa', 'A carregar stream. (' + titles[index] + ')','Por favor aguarde...')
                mensagemprogresso.update(0)
                if mensagemprogresso.iscanceled(): mensagemprogresso.close()
                pre_resolvers(titles,ligacao,index,nome,zapping=gravador)
            else:
                index=-1

                for linkescolha in ligacao:
                    index=index+1
                    pre_resolvers(titles,ligacao,index,nome,tamanho=tamanho,zapping=gravador)

                activadoextra2=set(activadoextra)
                thumb=nome.replace('Mais TVI-','maistvi-ver2.png').replace('AXN-','axn-ver2.png').replace('FOX-','fox-ver2.png').replace('RTP 1-','rtp1-ver2.png').replace('RTP 2-','rtp2-ver2.png').replace('SIC-','sic-ver3.png').replace('SPORTTV 1-','sptv1-ver2.png').replace('SPORTTV 1 HD-','sptvhd-ver2.png').replace('SPORTTV 2-','sptv2-ver2.png').replace('SPORTTV 3-','sptv3-ver2.png').replace('SPORTTV 4-','sptv4-ver2.png').replace('SPORTTV LIVE-','sptvlive-ver1.png').replace('TVI-','tvi-ver2.png').replace('Discovery Channel-','disc-ver2.png').replace('AXN Black-','axnb-ver2.png').replace('AXN White-','axnw-ver2.png').replace('FOX Crime-','foxc-ver2.png').replace('FOX Life-','foxl-ver3.png').replace('FOX Movies-','foxm-ver2.png').replace('Eurosport-','eusp-ver2.png').replace('Hollywood-','hwd-ver2.png').replace('MOV-','mov-ver2.png').replace('Canal Panda-','panda-ver2.png').replace('VH1-','vh1-ver2.png').replace('Benfica TV 1-','btv1-ver1.png').replace('Benfica TV 2-','btv2-ver1.png').replace('Porto Canal-','pcanal-ver2.png').replace('Big Brother VIP-','bbvip-ver2.png').replace('SIC K-','sick-ver2.png').replace('SIC Mulher-','sicm-ver3.png').replace('SIC Noticias-','sicn-ver2.png').replace('SIC Radical-','sicrad-ver2.png').replace('TVI24-','tvi24-ver2.png').replace('TVI Ficção-','tvif-ver2.png').replace('Syfy-','syfy-ver1.png').replace('Odisseia-','odisseia-ver1.png').replace('História-','historia-ver1.png').replace('National Geographic Channel-','natgeo-ver1.png').replace('MTV-','mtv-ver1.png').replace('CM TV-','cmtv-ver1.png').replace('RTP Informação-','rtpi-ver1.png').replace('Disney Channel-','disney-ver1.png').replace('Motors TV-','motors-ver1.png').replace('ESPN America-','espna-ver1.png').replace('Fashion TV-','fash-ver1.png').replace('A Bola TV-','abola-ver1.png').replace('Casa dos Segredos 5-','casadseg-ver1.png').replace('RTP Açores-','rtpac-ver1.png').replace('RTP Internacional-','rtpint-ver1.png').replace('RTP Madeira-','rtpmad-ver1.png').replace('RTP Memória-','rtpmem-ver1.png').replace('RTP Africa-','rtpaf-ver1.png').replace('Panda Biggs-','pbiggs-ver1.png').replace('TV Record-','record-v1.png').replace('TV Globo-','globo-v1.png').replace('Eurosport 2-','eusp2-ver1.png').replace('Discovery Turbo-','discturbo-v1.png').replace('Toros TV-','toros-v1.png').replace('Chelsea TV-','chel-v1.png').replace('Disney Junior-','djun-ver1.png').replace('Económico TV-','econ-v1.png').replace('Caça e Pesca-','cacapesca-v1.png').replace('TPA Internacional-','tpa-ver1.png').replace('TRACE Urban-','traceu.png').replace('Virgin Radio TV-','virginr.png').replace('DJing TV-','djingtv.png')

                nome=nome.replace('-','')
                SIM='</link>\n<link>'.join(activadoextra2)
                if SIM=='':
                    return ''
                else:
                    SIM='<link>%s</link>' % (SIM)
                    if thumb=='tvif-ver2.png':nome='TVI Ficcao'
                    elif thumb=='historia-ver1.png': nome='Historia'
                    elif thumb=='rtpac-ver1.png': nome='RTP Acores'
                    elif thumb=='rtpi-ver1.png': nome='RTP Informacao'
                    elif thumb=='rtpmem-ver1.png': nome='RTP Memoria'
                    elif thumb=='econ-v1.png': nome='Economico TV'
                    elif thumb=='cacapesca-v1.png': nome='Caca e Pesca'
                    CONTEUDO='<item>\n<title>%s</title>\n%s\n<thumbnail>%s</thumbnail>\n</item>' % (nome,SIM,thumb)
                return CONTEUDO
Esempio n. 11
0
def correrdump(args, nomecanal, pathso, siglacanal, directo, script=False):
    import subprocess
    info = infocanal(siglacanal)
    escolha = 0  #### inicializador
    mensagemprogresso.close()
    if info != False and directo != 'listas':
        escolha = listadeprogramas(info)  #### se ha programacao, mostra lista
    if escolha == 0:
        if info != False and directo != 'listas':  #### ha programacao
            fimprograma = calculafinalprograma(info)
            tituloprograma = ' - ' + re.compile(
                '<Title>(.+?)</Title>').findall(info)[0]
            #nomecanal = nomecanal + tituloprograma
            minutosrestantes = fimprograma / 60
            opcao = xbmcgui.Dialog().yesno(
                "TV Portuguesa", 'Faltam ' + str(minutosrestantes) +
                ' minutos para o fim do programa',
                "Deseja gravar o resto do programa ou",
                "definir um tempo de gravação?", 'Definir tempo',
                'Gravar restante')
            if opcao == 1:
                if selfAddon.getSetting("acrescentogravacao") == "0":
                    segundos = fimprograma
                elif selfAddon.getSetting("acrescentogravacao") == "1":
                    segundos = fimprograma + 120
                elif selfAddon.getSetting("acrescentogravacao") == "2":
                    segundos = fimprograma + 300
                elif selfAddon.getSetting("acrescentogravacao") == "3":
                    segundos = fimprograma + 600
                else:
                    segundos = fimprograma + 120
                minutos = segundos / 60
            else:
                minutos = -1
                while minutos < 1:
                    minutos = int(xbmcgui.Dialog().numeric(
                        0, "Num de minutos de gravacao"))
                segundos = minutos * 60
        else:
            minutos = -1
            while minutos < 1:
                minutos = int(xbmcgui.Dialog().numeric(
                    0, "Num de minutos de gravacao"))
            segundos = minutos * 60
        nomecanal = limpar(re.sub('[^-a-zA-Z0-9_.()\\\/ ]+', '', nomecanal))
        horaactual = horaportuguesa(False)

        if pathso == 'alternativo':
            caminhodump = selfAddon.getSetting("rtmpdumpalternativo")
        else:
            caminhodump = os.path.join(gravadorpath, pathso)

        if xbmc.getCondVisibility('system.platform.linux'):
            st = os.stat(caminhodump)
            os.chmod(caminhodump, st.st_mode | stat.S_IEXEC)

        args = args.split(' ')
        typeargs = []
        for types in args:
            if len(types) != 2: typeargs.append('"' + types + '"')
            else: typeargs.append(types)
        args = ' '.join(typeargs)

        argumentos = args + ' -o "' + downloadPath + horaactual + ' - ' + nomecanal + '.flv" -B ' + str(
            segundos)
        #argumentos=args + ' -o "' + downloadPath + horaactual + '.flv" -B ' + str(segundos)

        if script:
            conteudoscript = script + xbmc.translatePath(
                os.path.join(gravadorpath, pathso)) + ' $1 ' + argumentos
            savefile('script.sh', conteudoscript, pastafinal=gravadorpath)
            caminhodump = xbmc.translatePath(
                os.path.join(gravadorpath, 'script.sh'))
            st = os.stat(caminhodump)
            os.chmod(caminhodump, st.st_mode | stat.S_IEXEC)
        try:
            #proc = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
            if script:
                proc = subprocess.Popen(caminhodump,
                                        shell=True,
                                        stdout=subprocess.PIPE,
                                        stderr=subprocess.PIPE)
            else:
                #proc = subprocess.Popen(argumentos, executable=caminhodump + '.exe', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
                cmd = '"%s" %s' % (caminhodump, argumentos)
                proc = subprocess.Popen(cmd,
                                        shell=True,
                                        stdout=subprocess.PIPE,
                                        stderr=subprocess.PIPE)
            print "RTMPDump comecou a funcionar"
            xbmc.executebuiltin(
                "XBMC.Notification(TV Portuguesa, Gravação de " +
                str(minutos) + " minutos iniciou,'10000'," + tvporpath +
                "/resources/art/icon32-ver1.png)")
            (stdout, stderr) = proc.communicate()
            print "RTMPDump parou de funcionar"
            stderr = normalize(stderr)
            if u'Download complete' in stderr:
                print 'stdout: ' + str(stdout)
                print 'stderr: ' + str(stderr)
                print "Download Completo!"
                xbmc.executebuiltin(
                    "XBMC.Notification(TV Portuguesa, Gravação efectuada com sucesso,'10000',"
                    + tvporpath + "/resources/art/icon32-ver1.png)")
            else:
                print 'stdout: ' + str(stdout)
                print 'stderr: ' + str(stderr)
                print "Download Falhou!"
                xbmc.executebuiltin(
                    "XBMC.Notification(TV Portuguesa, Gravação falhou,'10000',"
                    + tvporpath + "/resources/art/icon32-ver1.png)")
        except Exception:
            print("Nao conseguiu abrir o programa")
            xbmc.executebuiltin(
                "XBMC.Notification(TV Portuguesa, Erro ao abrir programa de gravação,'10000',"
                + tvporpath + "/resources/art/icon32-ver1.png)")
            (etype, value, traceback) = sys.exc_info()
            print "Erro etype: " + str(etype)
            print "Erro valor: " + str(value)
            print "Erro traceback: " + str(traceback)