示例#1
0
def praias():
    beachcams=[]
    try:
        temp= abrir_url(BeachcamURL + 'pt/livecams/')
        beachcams=re.compile('<a href="/pt/livecams/(.+?)">(.+?)</a>').findall(temp)
    except: print "Nao foi possivel obter as BeachCams"
    try:
        temp= abrir_url(SurflineURL + '/surf-report/portugal_2946/map/')
        beachcams+=re.compile('\tbackground-image:url./surfdata/images/icon_hdcam_blue.gif.\n\t\t\t\t\n                ;background-repeat:no-repeat;background-position:bottom left"\n                href="(.+?)">(.+?)</a>').findall(temp)
    except: print "Nao foi possivel obter as Surfline"
    try:
        temp=re.compile('Report<b class="caret">(.+?)</li></ul></li>').findall(abrir_url(SurftotalURL))[0]
        beachcams+=re.compile('<a href="(.+?)" >(.+?)</a>').findall(temp)
    except: print "Nao foi possivel obter as Surftotal"
    beachcams.sort(key=lambda t: t[1])
    for end,nome in beachcams:
        nome=nome.replace('&#227;','ã').replace('&#231;','ç').replace('&#237;','í').replace('&#180;','á')
        if re.search('surf-report',end):
            end=SurflineURL + end
            nome= '[B]%s[/B] (Surfline)' % nome
        elif re.search('camaras-report',end):
            end=SurftotalURL + end
            nome= '[B]%s[/B] (Surftotal)' % nome
        else:
            end=BeachcamURL + 'pt/livecams/' + end
            nome= '[B]%s[/B] (Beachcam.pt)' % nome
        addDir(nome,end,27,tvporpath + art + 'versao-ver2.png',len(beachcams),'',False)
示例#2
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)
示例#3
0
def listar_radios(name,url):
    link= clean(abrir_url(url))
    radios=re.compile('<td><a href="/portalradio/conteudos/ficha/.+?radio_id=(.+?)">(.+?)</a></td><td>(.+?)</td>.+?<td align="center">').findall(link)
    for idradio,nomeradio,concelho in radios:
        addDir('[B]'+nomeradio+'[/B] ('+concelho+')',RadiosURL + 'Sintonizador/?radio_id=' + idradio + '&scope=0',21,'http://www.radio.com.pt/APR.ROLI.WEB/Images/Logos/'+ idradio +'.gif',len(radios),'',False)
    xbmc.executebuiltin("Container.SetViewMode(501)")
    paginasradios(url,link)
示例#4
0
def parseM3U(infile,link=False):
    if link==False: inf=abrir_url(infile).splitlines( )
    else: inf=link.splitlines( )

    playlist=[]
    musica=[]
    titulo=''
    urlstream=''
    for line in inf:
        line=line.strip()
        if line.startswith('#EXTINF:'):
            #stupid guys with spaces and common errors
            try:titulo=line.split('#EXTINF:')[1].split(',  ',1)[1]
            except:
                try:titulo=line.split('#EXTINF:')[1].split(', ',1)[1]
                except:
                    try:titulo=line.split('#EXTINF:')[1].split(',',1)[1]
                    except:titulo=line.split('#EXTINF:')[1].split('" ',1)[1]
        elif re.search('#EXTM3U',line):
            pass
        elif (len(line) != 0):
            line=line.replace('rtmp://$OPT:rtmp-raw=','')
            urlstream=line
            musica.append(titulo)
            musica.append(urlstream)
            musica.append(tvporpath + art + 'vercanais-ver2.png')#fakethumb
            playlist.append(musica)
            musica=[]
            titulo=''
            urlstream=''


    return playlist
示例#5
0
def programacao_canal():
    titles=[]
    sigla=name.replace('[','-')
    sigla=re.compile('B](.+?)/B]').findall(sigla)[0]
    siglacanal=sigla.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')
    siglacanal=siglacanal.replace('-','')
    dia= horaportuguesa(True)
    diaseguinte= horaportuguesa('diaseguinte')
    url='http://services.sapo.pt/EPG/GetChannelListByDateIntervalJson?channelSiglas='+siglacanal+'&startDate=' + dia +':01&endDate='+ diaseguinte + ':02'
    ref=int(0)
    link=abrir_url(url)
    titles.append('No ar: %s\n\n[B][COLOR white]Programação:[/COLOR][/B]' % name)

    programas=re.compile('{"Actor":.+?"Description":"(.+?)".+?"StartTime":".+?-.+?-(.+?) (.+?):(.+?):.+?".+?"Title":"(.+?)"').findall(link)
    for descprog,dia, horas,minutos, nomeprog in programas:
        ref=ref+1
        if dia==datetime.datetime.now().strftime('%d'): dia='Hoje'
        else: dia='Amanhã'
        titles.append('\n[B][COLOR blue]%s %s:%s[/COLOR][/B] - [B][COLOR gold]%s[/COLOR][/B] - %s' % (dia,horas,minutos,nomeprog,descprog))
    programacao='\n'.join(titles)

    try:
        xbmc.executebuiltin("ActivateWindow(10147)")
        window = xbmcgui.Window(10147)
        xbmc.sleep(100)
        window.getControl(1).setLabel('TV Portuguesa')
        window.getControl(5).setText(programacao)
    except: pass
示例#6
0
def listasextras():
    iptvurl='http://01.gen.tr/HasBahCa_IPTV/'
    link= clean(abrir_url(iptvurl))
    streams=re.compile('<a class="autoindex_a" href="./(.+?)">.+?<td class="autoindex_td_right">.+?</td.+?td class="autoindex_td_right">(.+?)</td>').findall(link)
    for nomepasta,act in streams:
        if re.search('.m3u',nomepasta):
            titulo=nomepasta.replace('.m3u','').replace('_',' ').title()
            addDir("[B]%s[/B] (act.%s)" % (titulo,act[2:-2]),iptvurl + nomepasta,5,tvporpath + art + 'listas-ver2.png',1,'',True)
示例#7
0
def versao_disponivel():
    try:
        link=abrir_url('http://fightnight-xbmc.googlecode.com/svn/addons/fightnight/plugin.video.tvpor/addon.xml')
        match=re.compile('name="TV Portuguesa"\r\n       version="(.+?)"\r\n       provider-name="fightnight">').findall(link)[0]
    except:
        ok = mensagemok('TV Portuguesa','Addon não conseguiu conectar ao servidor','de actualização. Verifique a situação.','')
        match='Erro. Verificar origem do erro.'
    return match
示例#8
0
def radioslocais():
    link= clean(abrir_url(RadiosURL))
    #addDir('Pesquisar (exclui nacionais)',RadiosURL + '?distrito=0&concelho=0&tipo=0&text=',16,'',1,'',True)
    distritos=re.compile('id="DirectorioPesquisa1_ddlDistritos">(.+?)</select>').findall(link)[0]
    distritos=distritos.replace('<option value="0"></option>','<option value="0">Todos as rádios locais</option>')
    lista=re.compile('<option value="(.+?)">(.+?)</option>').findall(distritos)
    for iddistrito,nomedistrito in lista:
        addDir(nomedistrito,RadiosURL + '?distrito=' + iddistrito + '&concelho=0&tipo=0',24,'',len(lista),'',True)
    xbmc.executebuiltin("Container.SetViewMode(501)")
示例#9
0
def radios():
    addDir('[COLOR blue][B]Radios Locais[/B][/COLOR]','nada',20,tvporpath + art + 'radios-v1.png',1,'',True)
    addLink("",'','')
    link= clean(abrir_url(RadiosNacionaisURL))
    nacionais=re.compile('<div class="radiostation boxgrid">(.+?)</div>').findall(link)
    for radioindividual in nacionais:
        radiosnacionais=re.compile('<a href="http://www.radioonline.com.pt/#(.+?)".+?<img.+?src="(.+?)".+?alt="(.+?)"').findall(radioindividual)
        for idradio,imagemradio,nomeradio in radiosnacionais:
            nomeradio=nomeradio.replace('Radio ','')
            addDir(nomeradio,idradio,21,imagemradio,len(radiosnacionais),'',False)
示例#10
0
def listar_radios(name, url):
    link = clean(abrir_url(url))
    radios = re.compile(
        '<td><a href="/portalradio/conteudos/ficha/.+?radio_id=(.+?)">(.+?)</a></td><td>(.+?)</td>.+?<td align="center">'
    ).findall(link)
    for idradio, nomeradio, concelho in radios:
        addDir(
            '[B]' + nomeradio + '[/B] (' + concelho + ')',
            RadiosURL + 'Sintonizador/?radio_id=' + idradio + '&scope=0', 21,
            'http://www.radio.com.pt/APR.ROLI.WEB/Images/Logos/' + idradio +
            '.gif', len(radios), '', False)
    xbmc.executebuiltin("Container.SetViewMode(501)")
    paginasradios(url, link)
示例#11
0
def infocanal(siglacanal):
    if siglacanal == 'SEM':
        print "Canal sem programacao."
        return False
    try:
        dia = horaportuguesa(True)
        diaseguinte = horaportuguesa('diaseguinte')
        url = 'http://services.sapo.pt/EPG/GetChannelListByDateInterval?channelSiglas=' + siglacanal + '&startDate=' + dia + ':01&endDate=' + diaseguinte + ':02'
        link = clean(abrir_url(url))
        return link
    except:
        print "Nao conseguiu capturar programacao."
        return False
示例#12
0
def versao_disponivel():
    try:
        link = abrir_url(
            'http://fightnight-xbmc.googlecode.com/svn/addons/fightnight/plugin.video.tvpor/addon.xml'
        )
        match = re.compile(
            'name="TV Portuguesa"\r\n       version="(.+?)"\r\n       provider-name="fightnight">'
        ).findall(link)[0]
    except:
        ok = mensagemok('TV Portuguesa',
                        'Addon não conseguiu conectar ao servidor',
                        'de actualização. Verifique a situação.', '')
        match = 'Erro. Verificar origem do erro.'
    return match
示例#13
0
def radios():
    addDir('[COLOR blue][B]Radios Locais[/B][/COLOR]', 'nada', 20,
           tvporpath + art + 'radios-v1.png', 1, '', True)
    addLink("", '', '')
    link = clean(abrir_url(RadiosNacionaisURL))
    nacionais = re.compile(
        '<div class="radiostation boxgrid">(.+?)</div>').findall(link)
    for radioindividual in nacionais:
        radiosnacionais = re.compile(
            '<a href="http://www.radioonline.com.pt/#(.+?)".+?<img.+?src="(.+?)".+?alt="(.+?)"'
        ).findall(radioindividual)
        for idradio, imagemradio, nomeradio in radiosnacionais:
            nomeradio = nomeradio.replace('Radio ', '')
            addDir(nomeradio, idradio, 21, imagemradio, len(radiosnacionais),
                   '', False)
示例#14
0
def p_todos():
    if selfAddon.getSetting("prog-lista3") == "false": return ''
    else:
        try:
            dia= horaportuguesa(True)

            listacanais='RTP1,RTP2,SIC,TVI,SPTV1,SPTV2,SPTV3,SPTV4,SPTV5,SLB,SLB2,PORTO,CMTV,RTPIN,SICK,SICM,SICN,SICR,TVI24,TVIFIC,HOLLW,AXN,AXNBL,AXNWH,FOX,FOXCR,FLIFE,FOXM,SYFY,DISNY,PANDA,MOTOR,DISCV,ODISS,HIST,NGC,EURSP,FASH,VH1,MTV,ABOLA,RTPAC,RTPA,RTPM,RTPMD,BIGGS,ETVHD,DISNYJ,CHELS,CAÇAP,TOROTV,DISCT,GLOBO,TVREC,EURS2,SCP,TPA,EURN,ARTV,TRACE'
            url='http://services.sapo.pt/EPG/GetChannelListByDateInterval?channelSiglas='+listacanais+'&startDate=' + dia +':01&endDate='+ dia + ':02'
            link= clean(abrir_url(url,erro=False))

            listas=re.compile('<Sigla>(.+?)</Sigla>.+?<Title>(.+?)</Title>.+?<Description>(.+?)</Description>').findall(link)
            canais={}
            for nomecanal, nomeprog, descricao in listas:
                canais[nomecanal]={'nomeprog':'(' + nomeprog + ')','descprog':descricao}
            return canais
        except: pass
示例#15
0
def radioslocais():
    link = clean(abrir_url(RadiosURL))
    #addDir('Pesquisar (exclui nacionais)',RadiosURL + '?distrito=0&concelho=0&tipo=0&text=',16,'',1,'',True)
    distritos = re.compile(
        'id="DirectorioPesquisa1_ddlDistritos">(.+?)</select>').findall(
            link)[0]
    distritos = distritos.replace(
        '<option value="0"></option>',
        '<option value="0">Todos as rádios locais</option>')
    lista = re.compile('<option value="(.+?)">(.+?)</option>').findall(
        distritos)
    for iddistrito, nomedistrito in lista:
        addDir(nomedistrito,
               RadiosURL + '?distrito=' + iddistrito + '&concelho=0&tipo=0',
               24, '', len(lista), '', True)
    xbmc.executebuiltin("Container.SetViewMode(501)")
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
示例#17
0
def obter_lista(name,url):
    #GA("None",name)
    titles = []; ligacao = []; thumb=[]
    link=abrir_url(url)
    if re.search('.m3u',url) or re.search('#EXTM3U',link):
        listas= parseM3U(url,link)
    else:
        link2= clean(link)
        listas=re.compile('<title>(.+?)</title>(.+?)<thumbnail>(.+?)</thumbnail>').findall(link2)

    for nomecanal,streams,thumbcanal in listas:
        if re.search('<link>',streams):
            streams2=re.compile('<link>(.+?)</link>').findall(streams)
        else:
            streams2=[]
            streams2.append(streams)#ugly

        for rtmp in streams2:
#            if re.search('$doregex',rtmp):
#                #parametros=re.compile('<regex></regex>').findall(rtmp)
#                doRegexs = re.compile('\$doregex\[([^\]]*)\]').findall(rtmp)
#                    for k in doRegexs:
#
#                        if k in regexs:
#                            m = regexs[k]
#                            #if m['page'] in cachedPages:
#                            #    link = cachedPages[m['page']]
#                            #else:
#                            page=re.compile('<page>(.+?)</page>').findall(streams2)[0]
#                            req = urllib2.Request(page)
#                            req.add_header('User-Agent', user_agent)
#                            if re.search('<referer>',streams2):
#                                referer=re.compile('<referer>(.+?)</referer>').findall(streams2)[0]
#                                req.add_header('Referer', referer)
#                            response = urllib2.urlopen(req)
#                            link = response.read()
#                            response.close()
#                            expres=re.compile("""<expres>'file':'([^']*)<expres>""").findall(streams2)[0]
#                            reg = re.compile(expres).search(link)
#                            rtmp = url.replace("$doregex[" + k + "]", reg.group(1).strip())


            if name=='[B][COLOR white]Eventos[/COLOR][/B] (Cesarix/Rominhos)':
                titles.append(nomecanal)
                ligacao.append(rtmp)
                thumb.append(thumbcanal)
            else:
                addCanal(nomecanal,rtmp,17,thumbcanal,len(listas),'')
                xbmcplugin.setContent(int(sys.argv[1]), 'Movies')


    if name=='[B][COLOR white]Eventos[/COLOR][/B] (Cesarix/Rominhos)':
        if len(ligacao)==0: ok=mensagemok('TV Portuguesa', 'Sem eventos disponiveis.'); return
        else:
            if len(ligacao)==1: index=0
            else:index = xbmcgui.Dialog().select('Escolha o servidor', titles)
            if index > -1:
                urlescolha=ligacao[index]
                nomecanal=titles[index]
                #thumb123=thumbcanal[index]
                #print thumb123
                comecarvideo(urlescolha,nomecanal,'listas',False,thumb=tvporpath + art + 'vercanais-ver2.png')
示例#18
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
示例#19
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)