Página 7 de 12

Re: Pulsar- nuevo torrent stream

Publicado: 21 Nov 2014, 23:00
por robalo
neno1978 escribió:mi fallo es que usaba ([^"]+) en vez de ([^&]+)& en el torrent ¿que diferecia hay?
posiblemente ninguna o casi, no me acuerdo :oops: pero creo que recordar que así funcionaba todas las opciones+buscar
neno1978 escribió:Para sacarle el título (queda más mono) ;) y la info de la peli, que es algo que a mi mujer le gusta mucho para bichera películas , pero pruébalo ,se cuelan un montón de br/ que son un poco liosos ... se podrían eliminar de alguna manera? Gracias crack
Para tener conta a tu jefa coloca ésto entre el for y el itemlist:

Código: Seleccionar todo

        scrapedplot = scrapedplot.replace("<br />","[CR]")
Con eso reemplazas los saltos de líneas html por los del xbmc.

He probado las dos pelis que me dices torrente->xbmctorrent y se me han descargado enteras, no se han parado ?? Será por las he pausado a 10 ó 20 minitos de visualización?

Re: Pulsar- nuevo torrent stream

Publicado: 22 Nov 2014, 09:50
por robalo
Prueba ésto a ver si te gusta como que la info de la peli

Código: Seleccionar todo

        plotformat = re.compile('(.*?:).*?<br />',re.DOTALL).findall(scrapedplot)
        for plot in plotformat:
            scrapedplot = scrapedplot.replace(plot,"[COLOR blue][B]"+plot+"[/B][/COLOR]")
        scrapedplot = scrapedplot.replace("<br />","[CR]")
        scrapedplot = unicode( scrapedplot, "iso-8859-1" , errors="replace" ).encode("utf-8")

Re: Pulsar- nuevo torrent stream

Publicado: 22 Nov 2014, 16:03
por neno1978
robalo escribió:Prueba ésto a ver si te gusta como que la info de la peli

Código: Seleccionar todo

        plotformat = re.compile('(.*?:).*?<br />',re.DOTALL).findall(scrapedplot)
        for plot in plotformat:
            scrapedplot = scrapedplot.replace(plot,"[COLOR blue][B]"+plot+"[/B][/COLOR]")
        scrapedplot = scrapedplot.replace("<br />","[CR]")
        scrapedplot = unicode( scrapedplot, "iso-8859-1" , errors="replace" ).encode("utf-8")
Ostia robalo, bestial!!. explicame un poco la ultima definicion de scrapedplot q se me escapa total. ahor si q queda mono :lol: :lol: :lol:
Mira acabo de probar esta "gran pelicula" ; socios por accidente, y xbmctorrent no la abre. a mi me empieza tirando de maravilla pero cuando va a abrir me puedo ir a por un café, ducharme y merendar, q cuando vuelva aun esta cargando, para al final dar error...

Xcierto miraste lo d clasicos disney?
saludos crack

Re: Pulsar- nuevo torrent stream

Publicado: 23 Nov 2014, 00:00
por robalo
neno1978 escribió:Ostia robalo, bestial!!. explicame un poco la ultima definicion de scrapedplot q se me escapa total. ahor si q queda mono :lol: :lol: :lol:

Código: Seleccionar todo

       # Busca las etiquetas en scrapedplot
        plotformat = re.compile('(.*?:).*?<br />',re.DOTALL).findall(scrapedplot)
       # Reemplaza las etiquetas con etiquetas formateadas con color azul y negrita
        for plot in plotformat:
            scrapedplot = scrapedplot.replace(plot,"[COLOR blue][B]"+plot+"[/B][/COLOR]")
       # reemplaza los <br /> por saltos de línea del xbmc
        scrapedplot = scrapedplot.replace("<br />","[CR]")
       # codifica el texto en utf-8 para que se puedan ver las tíldes y eñes
        scrapedplot = unicode( scrapedplot, "iso-8859-1" , errors="replace" ).encode("utf-8")
neno1978 escribió:Mira acabo de probar esta "gran pelicula" ; socios por accidente, y xbmctorrent no la abre. a mi me empieza tirando de maravilla pero cuando va a abrir me puedo ir a por un café, ducharme y merendar, q cuando vuelva aun esta cargando, para al final dar error...
Ahora mismo la estoy viendo, minuto 20 aprox. sin pausarlo. Se ha descargado bastante rápido. Todo sin errores. He usado torrent->xbmctorrent

Tiene buena pinta la película, se la voy a poner a mi jefa
neno1978 escribió:Xcierto miraste lo d clasicos disney?
ups
Para que no falle el scrapedplot cuando no hay información y como consecuencia no aparecen los enlaces torrent, modifica la última parte del patrón tal que así:

Código: Seleccionar todo

    patron+= '<br><br>(.*)<br><br><img'
Y que salgan todoas las carátulas

Código: Seleccionar todo

        if not scrapedthumbnail.startswith("http://"):
            scrapedthumbnail = host+scrapedthumbnail

Re: Pulsar- nuevo torrent stream

Publicado: 23 Nov 2014, 00:36
por neno1978
joder robalo, lo tuyo es impresionante ;)
y xq me pasa eso a mi con ls avi y xbmctorrent? tu lo tienes para q guarde en el disco duro? o tal vez ea un tema de config.

lo de la peli es coña no?? ;)

Re: Pulsar- nuevo torrent stream

Publicado: 23 Nov 2014, 08:30
por robalo
neno1978 escribió:joder robalo, lo tuyo es impresionante ;)
y xq me pasa eso a mi con ls avi y xbmctorrent? tu lo tienes para q guarde en el disco duro? o tal vez ea un tema de config.

lo de la peli es coña no?? ;)
Yo lo tengo que descargue en el disco duro y cuando termino de ver el vídeo lo borra. Lo que ocurre es que si quiero verlo otra vez o quiero seguir viéndolo luego o creo que a mi mujer le puede gustar, cuando el archivo se ha descargado entero, copio la peli a la carpeta de las péliculas de la biblioteca compartida y paro el vídeo.

Yo tengo el XBMCtorrent 0.6.4 y de la config sólo cambié la ruta de descargas o eso creo

Y no, no es coña :)

Re: Pulsar- nuevo torrent stream

Publicado: 23 Nov 2014, 12:26
por neno1978
joder pues , a mi me da ese error que te comento, no obstante pulsar lo abre bien.

xcierto, esto no rula

Código: Seleccionar todo

ups

    patron+= '<br><br>(.*)<br><br><img'
siguen sin salir los enlaces...

Re: Pulsar- nuevo torrent stream

Publicado: 23 Nov 2014, 14:04
por robalo
Sálen las caratulas de todos o no? Lo que puede que no salgan son los enlaces de Hercules-DVDRIP y algunos más que tienen el torrent en un zip

Re: Pulsar- nuevo torrent stream

Publicado: 23 Nov 2014, 15:13
por neno1978
robalo escribió:Sálen las caratulas de todos o no? Lo que puede que no salgan son los enlaces de Hercules-DVDRIP y algunos más que tienen el torrent en un zip
correcto, las carátulas perfect , pero los que vienen en zip es imposible ... o no? ;)

Re: Pulsar- nuevo torrent stream

Publicado: 23 Nov 2014, 23:56
por robalo
He tenido un par de pararadas con el xbmctorrent pero han sido con descargas muy lentas. Se pausaba sólo el vídeo, y a la cuarta o quinta se paraba. Me ha pasado con Hércule y Robin Hood de Clásicos Disney.

Lo que me he dado cuenta que no me va pulsar ??? Como todas las pruebas las he hecho desde xbmctorrent ni enterarme hasta que he querido probar las dos de Clásicos Disney.
Tendré que revisar la instación. No me va en ningún canal y con ningun enlace.

Sobre los zips, te pego el aquitorrent.py con lo que he hecho. Pruebalo completo. Y si te va bien arreglas el tuyo a tu gusto.

Código: Seleccionar todo

# -*- coding: utf-8 -*-
#------------------------------------------------------------
# pelisalacarta - XBMC Plugin
# http://blog.tvalacarta.info/plugin-xbmc/pelisalacarta/
#------------------------------------------------------------
import urlparse,urllib2,urllib,re
import os
import sys

from core import scrapertools
from core import config
from core import logger
from core.item import Item
from servers import servertools

__channel__ = "aquitorrent"
__category__ = "F"
__type__ = "generic"
__title__ = "Aquitorrent"
__language__ = "ES"

host = "http://www.aquitorrent.com/"

DEBUG = config.get_setting("debug")

def isGeneric():
    return True

def mainlist(item):
    logger.info("pelisalacarta.aquitorrent mainlist")

    itemlist = []
    itemlist.append( Item(channel=__channel__, action="peliculas", title="Películas", url=host+"torr.asp?pagina=1&tipo=PELICULAS"))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="Series", url=host+"torr.asp?pagina=1&tipo=SERIES"))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="Películas HD", url=host+"torr.asp?pagina=1&tipo=Peliculas%20HD"))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="Películas 3D", url=host+"torr.asp?pagina=1&tipo=PELICULAS%203D"))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="DVDR Imagen de DVD", url=host+"torr.asp?pagina=1&tipo=DVDR%20IMAGEN%20DE%20DVD"))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="BR Imagen de BlueRay", url=host+"torr.asp?pagina=1&tipo=BR%20IMAGEN%20DE%20BLUERAY"))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="Películas V.O.S.", url=host+"torr.asp?pagina=1&tipo=PELICULAS%20V.O.S."))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="Docus y TV", url=host+"torr.asp?pagina=1&tipo=Docus%20y%20TV"))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="Clásicos Disney", url=host+"torr.asp?pagina=1&tipo=CLASICOS%20DISNEY"))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="F1 2014", url=host+"torr.asp?pagina=1&tipo=F1%202014"))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="MotoGP 2014", url=host+"torr.asp?pagina=1&tipo=MotoGP%202014"))
    itemlist.append( Item(channel=__channel__, action="peliculas", title="Mundial 2014", url=host+"torr.asp?pagina=1&tipo=Mundial%202014"))
    itemlist.append( Item(channel=__channel__, action="search", title="Buscar...", url=""))

    return itemlist

# Al llamarse "search" la función, el launcher pide un texto a buscar y lo añade como parámetro
def search(item,texto):
    logger.info("[pelisalacarta.aquitorrent search texto="+texto)
    
    item.url = host+"buscar.asp?pagina=1&buscar=%s" % (texto)
    try:
        return peliculas(item)
    # Se captura la excepción, para no interrumpir al buscador global si un canal falla
    except:
        import sys
        for line in sys.exc_info():
            logger.error( "%s" % line )
        return []

def peliculas(item):
    logger.info("pelisalacarta.aquitorrent peliculas")

    itemlist = []

    data = scrapertools.cache_page(item.url)
    data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;","",data)

    # Elimina el título en los href de los enlaces
    data = re.sub(r'&/[^"]+">','">',data)

    patron = '<div class="div_pic"[^>]+>'
    patron+= '<a href="([^"]+)">'
    patron+= '<img src="([^"]+)" alt="([^"]+)"'

    matches = re.compile(patron,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)

    for scrapedurl, scrapedthumbnail, scrapedtitle in matches:

        # Arregla la url y thumbnail
        scrapedurl = fix_url(scrapedurl)
        scrapedthumbnail = fix_url(scrapedthumbnail)

        itemlist.append( Item(channel=__channel__, title =scrapedtitle , url=host+scrapedurl, action="findvideos", thumbnail=scrapedthumbnail) )

    ## Paginación
    pagina = int(scrapertools.get_match(item.url,"pagina=(\d+)"))+1
    pagina = "pagina=%s" % (pagina)
    next_page = re.sub(r"pagina=\d+", pagina, item.url)
    if pagina in data:
        itemlist.append( Item(channel=__channel__, title=">> Página siguiente", url=next_page, action="peliculas", folder=True) )

    return itemlist

def findvideos(item):
    logger.info("pelisalacarta.aquitorrent findvideos")
    itemlist = []

    data = scrapertools.cache_page(item.url)
    data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;","",data)

    # Torrent en zip
    patron = '<td class="wrapper_pic_td">.*? '
    patron+= 'alt="([^"]+)".*? '
    patron+= 'href="(.*?\.zip)".*?'
    patron+= '"2"><br><br>(.*)<br><br><img'
    matches = re.compile(patron,re.DOTALL).findall(data)
    if len(matches)>0:
        for scrapedtitle, scrapedzip, scrapedplot in matches:
            plotformat = re.compile('(.*?:).*?<br />',re.DOTALL).findall(scrapedplot)
            for plot in plotformat:
                scrapedplot = scrapedplot.replace(plot,"[COLOR blue][B]"+plot+"[/B][/COLOR]")
            scrapedplot = scrapedplot.replace("<br />","[CR]")
            scrapedplot = unicode( scrapedplot, "iso-8859-1" , errors="replace" ).encode("utf-8")

            # Arregla la url y extrae el torrent
            scrapedtorrent = unzip(fix_url(scrapedzip))

            itemlist.append( Item(channel=__channel__, title =item.title+" [torrent]" , url=scrapedtorrent, plot=scrapedplot, action="play", server="torrent", thumbnail=item.thumbnail, folder=False) )


    # Normal
    patron = '<td class="wrapper_pic_td">.*? '
    patron+= 'alt="([^"]+)".*? '
    patron+= 'href="(magnet[^"]+)".*?'
    patron+= 'title="Visionado Online".*?'
    patron+= '<a href="http://www.bitlet.org/video/play.torrent=([^&]+)&.*?'
    patron+= '"2"><br><br>(.*)<br><br><img'
    matches = re.compile(patron,re.DOTALL).findall(data)
    if len(matches)>0:
        for scrapedtitle, scrapedmagnet, scrapedtorrent, scrapedplot in matches:

            plotformat = re.compile('(.*?:).*?<br />',re.DOTALL).findall(scrapedplot)
            for plot in plotformat:
                scrapedplot = scrapedplot.replace(plot,"[COLOR blue][B]"+plot+"[/B][/COLOR]")
            scrapedplot = scrapedplot.replace("<br />","[CR]")
            scrapedplot = unicode( scrapedplot, "iso-8859-1" , errors="replace" ).encode("utf-8")

            itemlist.append( Item(channel=__channel__, title =item.title+" [magnet]" , url=scrapedmagnet, plot=scrapedplot, action="play", server="torrent", thumbnail=item.thumbnail, folder=False) )
            itemlist.append( Item(channel=__channel__, title =item.title+" [torrent]" , url=scrapedtorrent, plot=scrapedplot, action="play", server="torrent", thumbnail=item.thumbnail, folder=False) )

    return itemlist

def fix_url(url):
    if url.startswith("/"):
        url = url[1:]
        if not url.startswith("http://"):
            url = host+url
    return url

def unzip(url):
    import zipfile

    # Path para guardar el zip como tem.zip los .torrent extraidos del zip
    torrents_path = config.get_library_path()+'/torrents'
    if not os.path.exists(torrents_path):
        os.mkdir(torrents_path)

    ## http://stackoverflow.com/questions/4028697/how-do-i-download-a-zip-file-in-python-using-urllib2
    # Open the url
    try:
        f = urllib2.urlopen(url)
        with open( torrents_path+"/temp.zip", "wb") as local_file:
            local_file.write(f.read())

        # Open our local file for writing
        fh = open(torrents_path+"/temp.zip", 'rb')
        z = zipfile.ZipFile(fh)
        for name in z.namelist():
            z.extract(name, torrents_path)
        fh.close()

    #handle errors
    except urllib2.HTTPError, e:
        print "HTTP Error:", e.code, url
    except urllib2.URLError, e:
        print "URL Error:", e.reason, url

    torrent = "file:///"+torrents_path+"/"+name

    return torrent
Los archivos se guardan en la ruta que tengas configurada la librería en la carpeta torrents, si no existe la crea. Si no te gusta el nombre de la carpeta la cambias.

Lo he probado en W7