예제 #1
0
def listaseries(params,url,category):
    logger.info("[sonolatino.py] listaseries")
    #url2 = "http://www.sonolatino.com/index.html"
    data = scrapertools.cachePage(url)
    
    patron = "Relacionadas</h4>(.*?)</ul>"
    matches = re.compile(patron,re.DOTALL).findall(data)
    if len(matches)>0:
        patron = '<a href="([^"]+)">([^<]+)</a>'
        matches2 = re.compile(patron,re.DOTALL).findall(matches[0])
        scrapedplot = ""
        scrapedthumbnail= ""
        if len(matches)>0:
            for match in matches2:
                scrapedtitle = acentos(match[1])
                print match[0]
                scrapedurl = match[0][:-18]
                print scrapedurl
                if (DEBUG):
                    logger.info("scrapedtitle="+scrapedtitle)
                    logger.info("scrapedurl="+scrapedurl)
                    logger.info("scrapedthumbnail="+scrapedthumbnail)
                        # A�ade al listado de XBMC
                xbmctools.addnewfolder( __channel__ , "listatipodocumental" , category , scrapedtitle , scrapedurl , scrapedthumbnail , scrapedplot )                    

    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #2
0
def Videosnuevoslist(params,url,category):
    logger.info("[sonolatino.py] VideoesNuevos")

    # Descarga la p�gina
    data = scrapertools.cachePage(url)
    #logger.info(data)

    # Extrae las entradas (carpetas)

    
    patronvideos  = '<tr><td.*?<a href="([^"]+)">'
    patronvideos += '<img src="([^"]+)" '
    patronvideos += 'alt="[^"]+".*?'
    patronvideos += 'width="250">([^<]+)<'
    patronvideos += 'td class.*?<a href="[^>]+>([^<]+)</a></td><td class.*?>([^<]+)</td></tr>'
    matches = re.compile(patronvideos,re.DOTALL).findall(data)
    #logger.info("matches = "+str(matches))
    if DEBUG:
        scrapertools.printMatches(matches)
    for match in matches:
        # Titulo
        # Titulo
        scrapedtitle = match[2] + " - " + match[3]+" - " + match[4].replace('&iacute;','i')
        print scrapedtitle
        scrapedtitle = scrapertools.unescape(scrapedtitle)

        # URL
        scrapedurl = match[0]
        
        # Thumbnail
        scrapedthumbnail = match[1]
        imagen = ""
        # procesa el resto
        scrapedplot = match[3]
        tipo = match[3]

        # Depuracion
        if (DEBUG):
            logger.info("scrapedtitle="+scrapedtitle)
            logger.info("scrapedurl="+scrapedurl)
            logger.info("scrapedthumbnail="+scrapedthumbnail)

        # A�ade al listado de XBMC
            #xbmctools.addthumbnailfolder( __channel__ , scrapedtitle, scrapedurl , scrapedthumbnail, "detail" )
            xbmctools.addnewfolder( __channel__ , "detail" , category , scrapedtitle ,scrapedurl , scrapedthumbnail , scrapedplot )
    

    # Busca enlaces de paginas siguientes...
    cat = "nuevo"
    patronvideo = patronvideos
    paginasiguientes(patronvideo,data,category,cat)     

    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #3
0
def listaseries(params,url,category):
    logger.info("[sonolatino.py] listaseries")
    #url2 = "http://www.sonolatino.com/index.html"
    data = scrapertools.cachePage(url)
    
    patron = "Relacionadas</h4>(.*?)</ul>"
    matches = re.compile(patron,re.DOTALL).findall(data)
    if len(matches)>0:
        patron = '<a href="([^"]+)">([^<]+)</a>'
        matches2 = re.compile(patron,re.DOTALL).findall(matches[0])
        scrapedplot = ""
        scrapedthumbnail= ""
        if len(matches)>0:
            for match in matches2:
                scrapedtitle = acentos(match[1])
                print match[0]
                scrapedurl = match[0][:-18]
                print scrapedurl
                if (DEBUG):
                    logger.info("scrapedtitle="+scrapedtitle)
                    logger.info("scrapedurl="+scrapedurl)
                    logger.info("scrapedthumbnail="+scrapedthumbnail)
                        # A�ade al listado de XBMC
                xbmctools.addnewfolder( __channel__ , "listatipodocumental" , category , scrapedtitle , scrapedurl , scrapedthumbnail , scrapedplot )                    

    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #4
0
def Videosnuevoslist(params,url,category):
    logger.info("[sonolatino.py] VideoesNuevos")

    # Descarga la p�gina
    data = scrapertools.cachePage(url)
    #logger.info(data)

    # Extrae las entradas (carpetas)

    
    patronvideos  = '<tr><td.*?<a href="([^"]+)">'
    patronvideos += '<img src="([^"]+)" '
    patronvideos += 'alt="[^"]+".*?'
    patronvideos += 'width="250">([^<]+)<'
    patronvideos += 'td class.*?<a href="[^>]+>([^<]+)</a></td><td class.*?>([^<]+)</td></tr>'
    matches = re.compile(patronvideos,re.DOTALL).findall(data)
    #logger.info("matches = "+str(matches))
    if DEBUG:
        scrapertools.printMatches(matches)
    for match in matches:
        # Titulo
        # Titulo
        scrapedtitle = match[2] + " - " + match[3]+" - " + match[4].replace('&iacute;','i')
        print scrapedtitle
        scrapedtitle = scrapertools.unescape(scrapedtitle)

        # URL
        scrapedurl = match[0]
        
        # Thumbnail
        scrapedthumbnail = match[1]
        imagen = ""
        # procesa el resto
        scrapedplot = match[3]
        tipo = match[3]

        # Depuracion
        if (DEBUG):
            logger.info("scrapedtitle="+scrapedtitle)
            logger.info("scrapedurl="+scrapedurl)
            logger.info("scrapedthumbnail="+scrapedthumbnail)

        # A�ade al listado de XBMC
            #xbmctools.addthumbnailfolder( __channel__ , scrapedtitle, scrapedurl , scrapedthumbnail, "detail" )
            xbmctools.addnewfolder( __channel__ , "detail" , category , scrapedtitle ,scrapedurl , scrapedthumbnail , scrapedplot )
    

    # Busca enlaces de paginas siguientes...
    cat = "nuevo"
    patronvideo = patronvideos
    paginasiguientes(patronvideo,data,category,cat)     

    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #5
0
def buscartrailer(params,url,category):
    print "[trailertools.py] Modulo: buscartrailer()"
    thumbnail = ""
    solo = "false"
    videotitle = title = urllib.unquote_plus( params.get("title") ).strip()
    if ":]" in videotitle:
        solo = "true"
        videotitle = re.sub("\[[^\]]+\]","",videotitle).strip()
    if config.get_localized_string(30110) in videotitle: #"Buscar trailer para"
        videotitle = videotitle.replace(config.get_localized_string(30110),"").strip()
    if config.get_localized_string(30111) in videotitle: #"Insatisfecho?, busca otra vez : "
        videotitle = videotitle.replace(config.get_localized_string(30111),"").strip()
    
        listavideos = GetTrailerbyKeyboard(videotitle.strip(),category)
    else:
        listavideos = gettrailer(videotitle.strip().strip(),category,solo)
    
    if len(listavideos)>0:
        for video in listavideos:
            titulo = video[1]
            url        = video[0]
            thumbnail  = video[2]
            duracion = video[3]
            xbmctools.addnewvideo( "trailertools" , "youtubeplay" , category , "youtube" ,  titulo , url , thumbnail , "Ver Video","",duracion )
    
    xbmctools.addnewfolder( CHANNELNAME , "buscartrailer" , category , config.get_localized_string(30111)+" "+videotitle , url , os.path.join(IMAGES_PATH, 'trailertools.png'), "" ) #"Insatisfecho?, busca otra vez : "        
    # Propiedades
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
def buscartrailer(params,url,category):
    print "[trailertools.py] Modulo: buscartrailer()"
    thumbnail = ""
    solo = "false"
    videotitle = title = urllib.unquote_plus( params.get("title") ).strip()
    if ":]" in videotitle:
        solo = "true"
        videotitle = re.sub("\[[^\]]+\]","",videotitle).strip()
    if config.get_localized_string(30110) in videotitle: #"Buscar trailer para"
        videotitle = videotitle.replace(config.get_localized_string(30110),"").strip()
    if config.get_localized_string(30111) in videotitle: #"Insatisfecho?, busca otra vez : "
        videotitle = videotitle.replace(config.get_localized_string(30111),"").strip()
    
        listavideos = GetTrailerbyKeyboard(videotitle.strip(),category)
    else:
        listavideos = gettrailer(videotitle.strip().strip(),category,solo)
    
    if len(listavideos)>0:
        for video in listavideos:
            titulo = video[1]
            url        = video[0]
            thumbnail  = video[2]
            duracion = video[3]
            xbmctools.addnewvideo( "trailertools" , "youtubeplay" , category , "youtube" ,  titulo , url , thumbnail , "Ver Video","",duracion )
    
    xbmctools.addnewfolder( CHANNELNAME , "buscartrailer" , category , config.get_localized_string(30111)+" "+videotitle , url , os.path.join(IMAGES_PATH, 'trailertools.png'), "" ) #"Insatisfecho?, busca otra vez : "        
    # Propiedades
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #7
0
def searchresults2(params, url, category):
    logger.info("[sonolatino.py] searchresults")

    # Descarga la p�gina
    data = scrapertools.cachePage(url)
    # logger.info(data)

    # Extrae las entradas (carpetas)
    patronvideos = '<li class="video">[^<]+<div class="video_i">[^<]+<a href="([^"]+)">'
    patronvideos += '[^<]+<img src="([^"]+)"  '
    patronvideos += 'alt="([^"]+)"[^>]+><div class="tag".*?</div>.*?'
    patronvideos += '<span class="artist_name">([^<]+)</span>'

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

    for match in matches:
        # Titulo
        scrapedtitle = acentos(match[2])

        # URL
        scrapedurl = match[0]

        # Thumbnail
        scrapedthumbnail = match[1]

        # procesa el resto
        scrapedplot = match[3]

        # Depuracion
        if DEBUG:
            logger.info("scrapedtitle=" + scrapedtitle + " - " + scrapedplot)
            logger.info("scrapedurl=" + scrapedurl)
            logger.info("scrapedthumbnail=" + scrapedthumbnail)

        # A�ade al listado de XBMC
        xbmctools.addnewfolder(
            __channel__,
            "detail",
            category,
            scrapedtitle + " - " + scrapedplot,
            scrapedurl,
            scrapedthumbnail,
            scrapedplot,
        )

        # llama a la rutina paginasiguiente
    cat = "busca"
    paginasiguientes(patronvideos, data, category, cat)

    # Label (top-right)...
    xbmcplugin.setPluginCategory(handle=int(sys.argv[1]), category=category)

    # Disable sorting...
    xbmcplugin.addSortMethod(handle=int(sys.argv[1]), sortMethod=xbmcplugin.SORT_METHOD_NONE)

    # End of directory...
    xbmcplugin.endOfDirectory(handle=int(sys.argv[1]), succeeded=True)
예제 #8
0
def searchresults2(params,url,category):
    logger.info("[sonolatino.py] searchresults")

    # Descarga la p�gina
    data = scrapertools.cachePage(url)
    #logger.info(data)

    # Extrae las entradas (carpetas)
    patronvideos = '<li class="video">[^<]+<div class="video_i">[^<]+<a href="([^"]+)">'
    patronvideos += '[^<]+<img src="([^"]+)"  '
    patronvideos += 'alt="([^"]+)"[^>]+><div class="tag".*?</div>.*?'
    patronvideos += '<span class="artist_name">([^<]+)</span>'
    
    matches = re.compile(patronvideos,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)

    for match in matches:
        # Titulo
        scrapedtitle = acentos(match[2])

        # URL
        scrapedurl = match[0]
        
        # Thumbnail
        scrapedthumbnail = match[1]
        
        # procesa el resto
        scrapedplot = match[3]

        # Depuracion
        if (DEBUG):
            logger.info("scrapedtitle="+scrapedtitle+" - "+scrapedplot)
            logger.info("scrapedurl="+scrapedurl)
            logger.info("scrapedthumbnail="+scrapedthumbnail)

        # A�ade al listado de XBMC
        xbmctools.addnewfolder( __channel__ , "detail" , category , scrapedtitle + " - " + scrapedplot , scrapedurl , scrapedthumbnail , scrapedplot )


        #llama a la rutina paginasiguiente
    cat = 'busca'
    paginasiguientes(patronvideos,data,category,cat)
    
    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #9
0
def verRelacionados(params, data, category):

    patronvideos = '<div class="item">.*?<a href="([^"]+)"'
    patronvideos += '><img src="([^"]+)".*?'
    patronvideos += 'alt="([^"]+)".*?/></a>.*?'
    patronvideos += '<span class="artist_name">([^<]+)</span>'
    matches = re.compile(patronvideos, re.DOTALL).findall(data)
    scrapertools.printMatches(matches)
    for match in matches:
        # Titulo
        scrapedtitle = acentos(match[2])

        # URL
        scrapedurl = match[0]

        # Thumbnail
        scrapedthumbnail = match[1]

        # procesa el resto
        scrapeddescription = match[3]

        # procesa el resto
        scrapedplot = ""

        # Depuracion
        if DEBUG:
            logger.info("scrapedtitle=" + scrapedtitle)
            logger.info("scrapedurl=" + scrapedurl)
            logger.info("scrapedthumbnail=" + scrapedthumbnail)

            # A�ade al listado de XBMC
            xbmctools.addnewfolder(
                __channel__,
                "detail",
                category,
                scrapedtitle + " - " + scrapeddescription,
                scrapedurl,
                scrapedthumbnail,
                scrapedplot,
            )

        # Label (top-right)...
    xbmcplugin.setPluginCategory(handle=pluginhandle, category=category)

    # Disable sorting...
    xbmcplugin.addSortMethod(handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE)

    # End of directory...
    xbmcplugin.endOfDirectory(handle=pluginhandle, succeeded=True)
예제 #10
0
def verRelacionados(params,data,category):
    
    patronvideos  = '<div class="item">.*?<a href="([^"]+)"'
    patronvideos += '><img src="([^"]+)".*?'
    patronvideos += 'alt="([^"]+)".*?/></a>.*?'
    patronvideos += '<span class="artist_name">([^<]+)</span>'
    matches = re.compile(patronvideos,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)
    for match in matches:
        # Titulo
        scrapedtitle = acentos(match[2])

        # URL
        scrapedurl = match[0]
        
        # Thumbnail
        scrapedthumbnail = match[1]
        
        # procesa el resto
        scrapeddescription = match[3]

        # procesa el resto
        scrapedplot = ""

        # Depuracion
        if (DEBUG):
            logger.info("scrapedtitle="+scrapedtitle)
            logger.info("scrapedurl="+scrapedurl)
            logger.info("scrapedthumbnail="+scrapedthumbnail)

        # A�ade al listado de XBMC
            xbmctools.addnewfolder( __channel__ , "detail" , category , scrapedtitle+" - "+scrapeddescription , scrapedurl , scrapedthumbnail , scrapedplot )

        # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=pluginhandle, category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=pluginhandle, succeeded=True )
예제 #11
0
def Videodeldia(params,url,category):
#    list(params,url,category,patronvideos)
    logger.info("[sonolatino.py] Videodeldia")
           
    # Descarga la p�gina
    data = scrapertools.cachePage(url)
    #logger.info(data)
    
    patronvideos = 'Video Musical: <a href="([^"]+)">([^<]+)</a>'
    matches =  re.compile(patronvideos,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)
    for match in matches:
        # Titulo
        # Titulo
        scrapedtitle = acentos(match[1])

        # URL
        scrapedurl = match[0]
          
        # Thumbnail
        scrapedthumbnail = ""

        # scrapedplot
        scrapedplot = ""
        if (DEBUG):
            logger.info("scrapedtitle="+scrapedtitle)
            logger.info("scrapedurl="+scrapedurl)
            logger.info("scrapedthumbnail="+scrapedthumbnail)
 
        xbmctools.addnewfolder( __channel__ , "detail" , category , scrapedtitle , scrapedurl , scrapedthumbnail , scrapedplot ) 
    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True ) 
예제 #12
0
def Videodeldia(params,url,category):
#    list(params,url,category,patronvideos)
    logger.info("[sonolatino.py] Videodeldia")
           
    # Descarga la p�gina
    data = scrapertools.cachePage(url)
    #logger.info(data)
    
    patronvideos = 'Video Musical: <a href="([^"]+)">([^<]+)</a>'
    matches =  re.compile(patronvideos,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)
    for match in matches:
        # Titulo
        # Titulo
        scrapedtitle = acentos(match[1])

        # URL
        scrapedurl = match[0]
          
        # Thumbnail
        scrapedthumbnail = ""

        # scrapedplot
        scrapedplot = ""
        if (DEBUG):
            logger.info("scrapedtitle="+scrapedtitle)
            logger.info("scrapedurl="+scrapedurl)
            logger.info("scrapedthumbnail="+scrapedthumbnail)
 
        xbmctools.addnewfolder( __channel__ , "detail" , category , scrapedtitle , scrapedurl , scrapedthumbnail , scrapedplot ) 
    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True ) 
예제 #13
0
def detail(params,url,category):
    logger.info("[sonolatino.py] detail")

    title = urllib.unquote_plus( params.get("title") )
    thumbnail = urllib.unquote_plus( params.get("thumbnail") )
    # Descarga la p�gina
    data = scrapertools.cachePage(url)
    if len(thumbnail)<=0:
        patron = '<td valign="top">[^<]+<img src="([^"]+)"'
        matches = re.compile(patron,re.DOTALL).findall(data)
        if len(matches)>0:
            thumbnail = matches[0]
    print thumbnail
    thumnbail = thumbnail
    ok = "false"
    
    patrondescrip = '<td.+?class="letra">[^<]+<h3>(.*?)</td>'
    descripcion = ""
    plot = ""
    uri = url
    matches = re.compile(patrondescrip,re.DOTALL).findall(data)
    
    if len(matches)>0:
        descripcion = matches[0]
        descripcion = descripcion.replace("&nbsp;","")
        descripcion = descripcion.replace("<BR>","\n")
        #descripcion = descripcion.replace("\r","")
        #descripcion = descripcion.replace("\n"," ")
        descripcion = descripcion.replace("\t","")
        descripcion = re.sub("<[^>]+>"," ",descripcion)
#        logger.info("descripcion="+descripcion)
        descripcion = acentos(descripcion)
#        logger.info("descripcion="+descripcion)
        try :
            plot = unicode( descripcion, "utf-8" ).encode("iso-8859-1")
        except:
            plot = descripcion
    # ----------------------------------------------------------------------------
    # Busca los enlaces a los videos de : "Megavideo"
    # ------------------------------------------------------------------------------------
    listavideos = servertools.findvideos(data)

    for video in listavideos:
        videotitle = video[0]
        url1 = video[1].replace("&amp;","&")
        logger.info("url   ="+url)
        if  url.endswith(".jpg"):break
        server = video[2]
        if server=="Megavideo" or "Veoh":
            xbmctools.addnewvideo( __channel__ , "play" , category , server , title.strip().replace("(Megavideo)","").replace("  "," ") + " - " + videotitle , url1 , thumbnail , plot )
            
        else:
            xbmctools.addnewvideo( __channel__ , "play" , category , server , title.strip().replace(server,"").replace("  "," ") + " - " + videotitle , url1 , thumbnail , plot )


        
      
    # ------------------------------------------------------------------------------------
       #  ---- Extrae los videos directos ----- 

    # Extrae los enlaces a los v�deos (Directo)
    patronvideos = "file: '([^']+)'"
    servidor = "Directo"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)
       # ---------------------------------------
       
    # Extrae los enlaces a los v�deos (izlesene)
    patronvideos = 'http://www.izlesene.com/.+?video=([0-9]{7})'
    servidor = "izlesene"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)

       #  --- Extrae los videos de veoh  ----
    patronvideos = 'var embed_code[^>]+>   <param name="movie" value="http://www.veoh.com/static/swf/webplayer/WebPlayer.swf.*?permalinkId=(.*?)&player=videodetailsembedded&videoAutoPlay=0&id=anonymous"></param>'
    servidor = "Veoh"
    extraevideos(patronvideos,data,category,title+" - Video en  Veoh",thumbnail,plot,servidor)
       # ---------------------------------------


     
#var embed_code =  '<embed id="VideoPlayback" src="http://video.google.com/googleplayer.swf?docid=1447612366747092264&hl=en&fs=true" style="width:496px;height:401px" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash" wmode="window">  </embed>' ;

       #  --- Extrae los videos de google  ----
    patronvideos = '<embed id="VideoPlayback" src="http://video.google.com/googleplayer.swf.*?docid=(.*?)&hl=en&'
    servidor = "Google"
    extraevideos(patronvideos,data,category,title+" - [Video en google]",thumbnail,plot,servidor)
       # --------------------------------------- 

       #  --- Extrae los videos de http://n59.stagevu.com  ----
    patronvideos = '"http://.*?.stagevu.com/v/.*?/(.*?).avi"'
    servidor = "Stagevu"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)
    
    #  --- Extrae los videos de dailymotion.com  ----
    patronvideos = 'value="http://www.dailymotion.com/([^"]+)"'
    
    servidor = "Dailymotion"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)
    
    #  --- Extrae los videos de vimeo.com  ----
    patronvideos = "http://vimeo.com.*?clip_id=([0-9]{8})"
    servidor = "Vimeo"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)
    
    #  --- Extrae los videos de yahoo.com  ----
    patronvideos = "http://.*?video.yahoo.com.*?id=([v0-9]{10})"
    servidor = "Yahoo"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)
    
       # --Muestra Una opcion mas para videos documentales relacionados con el tema--
    print "esta es la url :%s" %url
    try:
            patron = "http://www.sonolatino.com.*?\_(.*?)\.html"
            matches = re.compile(patron,re.DOTALL).findall(url)
            url = uri
            titulo = "Ver Videos Relacionados"
            xbmctools.addnewfolder( __channel__ , "Relacionados" , category , titulo , url , "" , "L�sta algunos videos relacionados con el mismo video musical" )
                    
            url = "http://www.sonolatino.com/ajax.php?p=detail&do=show_more_best&vid="+matches[0]
            titulo = "Ver Videos mas vistos"
            xbmctools.addnewfolder( __channel__ , "Relacionados" , category , titulo , url , "" , "L�sta algunos mas vistos relacionados con el video musical" )
        
            titulo = "Ver Videos del mismo Artista"
            url = "http://www.sonolatino.com/ajax.php?p=detail&do=show_more_artist&vid="+matches[0]
            xbmctools.addnewfolder( __channel__ , "Relacionados" , category , titulo , url , "" , "L�sta algunos videos relacionados con el mismo Artista" )
    except:
            pass
    patron  = '<h1 class="h2_artistnuevo">([^<]+)</h1>'
    matches = re.compile(patron,re.DOTALL).findall(data)
    if len(matches)>0:
        xbmctools.addnewfolder( "trailertools" , "buscartrailer" , category , "[Buscar la cancion en Youtube:] "+matches[0] , title , os.path.join(IMAGES_PATH, 'youtube_logo.png') , "Busca el video en Youtube" )
        try:
            artista = matches[0].split("-")[0].strip()
            xbmctools.addnewfolder( "trailertools" , "buscartrailer" , category , "[Buscar artista en Youtube:] "+artista , title , os.path.join(IMAGES_PATH, 'youtube_logo.png') , "Busca el video en Youtube" )
        except:
                pass
    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=pluginhandle, category=category )
        
    # Disable sorting...
    xbmcplugin.addSortMethod( handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=pluginhandle, succeeded=True )
예제 #14
0
def mainlist(params,url,category):
    logger.info("[sonolatino.py] mainlist")
    
    xbmctools.addnewfolder( __channel__ , "Videosnuevos"  , category , "Videos Musicales - Nuevos"           ,"http://www.sonolatino.com/newvideos.html","","")
    xbmctools.addnewfolder( __channel__ , "TipoVideo"     , category , "Videos Musicales - Categorias"       ,"","","")
    #xbmctools.addnewfolder( __channel__ , "tagvideos"  , category , "Tag de Videos","http://www.sonolatino.com/index.html",os.path.join(IMAGES_PATH, 'tag.png'),"")
    xbmctools.addnewfolder( __channel__ , "topVideos"     , category , "Top Videos Musicales Online"         ,"http://www.sonolatino.com/topvideos.html","","")
    xbmctools.addnewfolder( __channel__ , "listatipoVideo", category , "Videos Musicales Siendo Vistas Ahora","http://www.sonolatino.com/index.html","","")
    xbmctools.addnewfolder( __channel__ , "Videodeldia"   , category , "Video Musical del dia"               ,"http://www.sonolatino.com/index.html","","")
    xbmctools.addnewfolder( __channel__ , "search"          , category , "Buscar"                              ,"","","")
    #xbmctools.addnewfolder( __channel__ , "creartag"           , category , "Crear la lista de categorias","http://www.sonolatino.com/",tecleadoultimo,os.path.join(IMAGES_PATH, 'search_icon.png'),"")
    
    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )
        
    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #15
0
def TipoVideo(params, url, category):
    logger.info("[sonolatino.py] TipoVideo")
    
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Bachata","http://www.sonolatino.com/bachata","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Best Rock Songs","http://www.sonolatino.com/toprock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Blues","http://www.sonolatino.com/blues","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Champeta","http://www.sonolatino.com/champeta","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Country Pop","http://www.sonolatino.com/countrypop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Cumbia","http://www.sonolatino.com/cumbia","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Dance","http://www.sonolatino.com/dance","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Dance Punk","http://www.sonolatino.com/dancepunk","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Duranguense","http://www.sonolatino.com/duranguense","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Electro hop","http://www.sonolatino.com/electro-hop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Electro pop","http://www.sonolatino.com/electropop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Electronica","http://www.sonolatino.com/electronica","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Emo","http://www.sonolatino.com/emo","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Especiales","http://www.sonolatino.com/especiales","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Flamenco","http://www.sonolatino.com/flamenco","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Folklorica","http://www.sonolatino.com/folklorica","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Funk Rock","http://www.sonolatino.com/funkrock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Grupera","http://www.sonolatino.com/grupera","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Grupos Nuevos","http://www.sonolatino.com/grupos-nuevos","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Hard rock","http://www.sonolatino.com/Hard-rock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Hip Hop","http://www.sonolatino.com/hiphop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "House","http://www.sonolatino.com/house","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Humor","http://www.sonolatino.com/humor","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Indie pop","http://www.sonolatino.com/indie-pop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Indie Rock","http://www.sonolatino.com/indierock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Jazz","http://www.sonolatino.com/jazz","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Merengue","http://www.sonolatino.com/merengue","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Merengue Urbano","http://www.sonolatino.com/merengue-urbano","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Metal","http://www.sonolatino.com/metal","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Modelos","http://www.sonolatino.com/modelos","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Neo Soul","http://www.sonolatino.com/neosoul","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "New Wave","http://www.sonolatino.com/newwave","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Norte�a","http://www.sonolatino.com/nortena","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Pop","http://www.sonolatino.com/pop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Pop Punk","http://www.sonolatino.com/poppunk","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Pop Rap","http://www.sonolatino.com/poprap","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Pop Rock","http://www.sonolatino.com/poprock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Post grunge","http://www.sonolatino.com/Post-grunge","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Post Hardcore","http://www.sonolatino.com/posthardcore","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Punk","http://www.sonolatino.com/punk","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "R'n'B","http://www.sonolatino.com/rnb","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Ranchera","http://www.sonolatino.com/ranchera","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Rap","http://www.sonolatino.com/rap","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Reggae Fusion","http://www.sonolatino.com/reggaefusion","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Reggaeton","http://www.sonolatino.com/reggaeton","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Rock & Alternative","http://www.sonolatino.com/rock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Salsa","http://www.sonolatino.com/salsa","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Chicas","http://www.sonolatino.com/chicas","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Chicos","http://www.sonolatino.com/chicos","","")


    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #16
0
def listatipoVideo(params,url,category):
    logger.info("[sonolatino.py] listatipodocumental")

    # busca tipo de listado por : FECHA | VISTAS | RATING #
    url = listarpor(params,url,category) 
    if len(url)==0 :
       return  
    # Descarga la p�gina
    data = scrapertools.cachePage(url)
    
    # Extrae las entradas (carpetas)
            

    if url == "http://www.sonolatino.com/index.html":
        patronvideos = '<li class="item">[^<]+<a href="([^"]+)"><img src="([^"]+)" alt="([^"]+)" class="imag".*?/></a>'
        cat = "viendose"
    else:  
        patronvideos  = '<li class="video">[^<]+<div class="video_i">[^<]+<a href="([^"]+)"'
        patronvideos += '>[^<]+<img src="([^"]+)"  alt="([^"]+)".*?<span class="artist_name">([^<]+)</span>'
        cat = "tipo"
            
            
    
    matches = re.compile(patronvideos,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)
    #logger.info("matches = "+matches[0])
    scrapedplot = ""
    for match in matches:
        # Titulo
        scrapedtitle = scrapertools.unescape(match[2])

        # URL
        scrapedurl = match[0]
        
        # Thumbnail
        scrapedthumbnail = match[1]
        
        # procesa el resto
        if cat == "tipo":
           scrapedplot = scrapertools.unescape(match[3])
        else:
           for campo in re.findall("/(.*?)/",match[0]):
            scrapedplot = campo
        # Depuracion
        if (DEBUG):
            logger.info("scrapedtitle="+scrapedtitle)
            logger.info("scrapedurl="+scrapedurl)
            logger.info("scrapedthumbnail="+scrapedthumbnail)

        # A�ade al listado de XBMC
        xbmctools.addnewfolder( __channel__ , "detail" , category , scrapedtitle + " - " + scrapedplot , scrapedurl , scrapedthumbnail , scrapedplot )
 #  -------------------------------------------
 #     Busqueda de la siguiente pagina
    
    if cat == "tipo":
           patron_pagina_sgte = '</span><a href="([^"]+)"'
           paginasiguientes(patron_pagina_sgte,data,category,cat)

    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #17
0
def listatipoVideo(params,url,category):
    logger.info("[sonolatino.py] listatipodocumental")

    # busca tipo de listado por : FECHA | VISTAS | RATING #
    url = listarpor(params,url,category) 
    if len(url)==0 :
       return  
    # Descarga la p�gina
    data = scrapertools.cachePage(url)
    
    # Extrae las entradas (carpetas)
            

    if url == "http://www.sonolatino.com/index.html":
        patronvideos = '<li class="item">[^<]+<a href="([^"]+)"><img src="([^"]+)" alt="([^"]+)" class="imag".*?/></a>'
        cat = "viendose"
    else:  
        patronvideos  = '<li class="video">[^<]+<div class="video_i">[^<]+<a href="([^"]+)"'
        patronvideos += '>[^<]+<img src="([^"]+)"  alt="([^"]+)".*?<span class="artist_name">([^<]+)</span>'
        cat = "tipo"
            
            
    
    matches = re.compile(patronvideos,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)
    #logger.info("matches = "+matches[0])
    scrapedplot = ""
    for match in matches:
        # Titulo
        scrapedtitle = scrapertools.unescape(match[2])

        # URL
        scrapedurl = match[0]
        
        # Thumbnail
        scrapedthumbnail = match[1]
        
        # procesa el resto
        if cat == "tipo":
           scrapedplot = scrapertools.unescape(match[3])
        else:
           for campo in re.findall("/(.*?)/",match[0]):
            scrapedplot = campo
        # Depuracion
        if (DEBUG):
            logger.info("scrapedtitle="+scrapedtitle)
            logger.info("scrapedurl="+scrapedurl)
            logger.info("scrapedthumbnail="+scrapedthumbnail)

        # A�ade al listado de XBMC
        xbmctools.addnewfolder( __channel__ , "detail" , category , scrapedtitle + " - " + scrapedplot , scrapedurl , scrapedthumbnail , scrapedplot )
 #  -------------------------------------------
 #     Busqueda de la siguiente pagina
    
    if cat == "tipo":
           patron_pagina_sgte = '</span><a href="([^"]+)"'
           paginasiguientes(patron_pagina_sgte,data,category,cat)

    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #18
0
def TipoVideo(params, url, category):
    logger.info("[sonolatino.py] TipoVideo")
    
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Bachata","http://www.sonolatino.com/bachata","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Best Rock Songs","http://www.sonolatino.com/toprock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Blues","http://www.sonolatino.com/blues","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Champeta","http://www.sonolatino.com/champeta","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Country Pop","http://www.sonolatino.com/countrypop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Cumbia","http://www.sonolatino.com/cumbia","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Dance","http://www.sonolatino.com/dance","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Dance Punk","http://www.sonolatino.com/dancepunk","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Duranguense","http://www.sonolatino.com/duranguense","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Electro hop","http://www.sonolatino.com/electro-hop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Electro pop","http://www.sonolatino.com/electropop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Electronica","http://www.sonolatino.com/electronica","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Emo","http://www.sonolatino.com/emo","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Especiales","http://www.sonolatino.com/especiales","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Flamenco","http://www.sonolatino.com/flamenco","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Folklorica","http://www.sonolatino.com/folklorica","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Funk Rock","http://www.sonolatino.com/funkrock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Grupera","http://www.sonolatino.com/grupera","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Grupos Nuevos","http://www.sonolatino.com/grupos-nuevos","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Hard rock","http://www.sonolatino.com/Hard-rock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Hip Hop","http://www.sonolatino.com/hiphop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "House","http://www.sonolatino.com/house","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Humor","http://www.sonolatino.com/humor","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Indie pop","http://www.sonolatino.com/indie-pop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Indie Rock","http://www.sonolatino.com/indierock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Jazz","http://www.sonolatino.com/jazz","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Merengue","http://www.sonolatino.com/merengue","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Merengue Urbano","http://www.sonolatino.com/merengue-urbano","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Metal","http://www.sonolatino.com/metal","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Modelos","http://www.sonolatino.com/modelos","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Neo Soul","http://www.sonolatino.com/neosoul","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "New Wave","http://www.sonolatino.com/newwave","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Norte�a","http://www.sonolatino.com/nortena","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Pop","http://www.sonolatino.com/pop","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Pop Punk","http://www.sonolatino.com/poppunk","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Pop Rap","http://www.sonolatino.com/poprap","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Pop Rock","http://www.sonolatino.com/poprock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Post grunge","http://www.sonolatino.com/Post-grunge","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Post Hardcore","http://www.sonolatino.com/posthardcore","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Punk","http://www.sonolatino.com/punk","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "R'n'B","http://www.sonolatino.com/rnb","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Ranchera","http://www.sonolatino.com/ranchera","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Rap","http://www.sonolatino.com/rap","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Reggae Fusion","http://www.sonolatino.com/reggaefusion","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Reggaeton","http://www.sonolatino.com/reggaeton","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Rock & Alternative","http://www.sonolatino.com/rock","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Salsa","http://www.sonolatino.com/salsa","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Chicas","http://www.sonolatino.com/chicas","","")
    xbmctools.addnewfolder(__channel__ , "listatipoVideo" , category , "Chicos","http://www.sonolatino.com/chicos","","")


    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #19
0
def mainlist(params,url,category):
    logger.info("[sonolatino.py] mainlist")
    
    xbmctools.addnewfolder( __channel__ , "Videosnuevos"  , category , "Videos Musicales - Nuevos"           ,"http://www.sonolatino.com/newvideos.html","","")
    xbmctools.addnewfolder( __channel__ , "TipoVideo"     , category , "Videos Musicales - Categorias"       ,"","","")
    #xbmctools.addnewfolder( __channel__ , "tagvideos"  , category , "Tag de Videos","http://www.sonolatino.com/index.html",os.path.join(IMAGES_PATH, 'tag.png'),"")
    xbmctools.addnewfolder( __channel__ , "topVideos"     , category , "Top Videos Musicales Online"         ,"http://www.sonolatino.com/topvideos.html","","")
    xbmctools.addnewfolder( __channel__ , "listatipoVideo", category , "Videos Musicales Siendo Vistas Ahora","http://www.sonolatino.com/index.html","","")
    xbmctools.addnewfolder( __channel__ , "Videodeldia"   , category , "Video Musical del dia"               ,"http://www.sonolatino.com/index.html","","")
    xbmctools.addnewfolder( __channel__ , "search"          , category , "Buscar"                              ,"","","")
    #xbmctools.addnewfolder( __channel__ , "creartag"           , category , "Crear la lista de categorias","http://www.sonolatino.com/",tecleadoultimo,os.path.join(IMAGES_PATH, 'search_icon.png'),"")
    
    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )
        
    # Disable sorting...
    xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
예제 #20
0
def detail(params,url,category):
    logger.info("[sonolatino.py] detail")

    title = urllib.unquote_plus( params.get("title") )
    thumbnail = urllib.unquote_plus( params.get("thumbnail") )
    # Descarga la p�gina
    data = scrapertools.cachePage(url)
    if len(thumbnail)<=0:
        patron = '<td valign="top">[^<]+<img src="([^"]+)"'
        matches = re.compile(patron,re.DOTALL).findall(data)
        if len(matches)>0:
            thumbnail = matches[0]
    print thumbnail
    thumnbail = thumbnail
    ok = "false"
    
    patrondescrip = '<td.+?class="letra">[^<]+<h3>(.*?)</td>'
    descripcion = ""
    plot = ""
    uri = url
    matches = re.compile(patrondescrip,re.DOTALL).findall(data)
    
    if len(matches)>0:
        descripcion = matches[0]
        descripcion = descripcion.replace("&nbsp;","")
        descripcion = descripcion.replace("<BR>","\n")
        #descripcion = descripcion.replace("\r","")
        #descripcion = descripcion.replace("\n"," ")
        descripcion = descripcion.replace("\t","")
        descripcion = re.sub("<[^>]+>"," ",descripcion)
#        logger.info("descripcion="+descripcion)
        descripcion = acentos(descripcion)
#        logger.info("descripcion="+descripcion)
        try :
            plot = unicode( descripcion, "utf-8" ).encode("iso-8859-1")
        except:
            plot = descripcion
    # ----------------------------------------------------------------------------
    # Busca los enlaces a los videos de : "Megavideo"
    # ------------------------------------------------------------------------------------
    listavideos = servertools.findvideos(data)

    for video in listavideos:
        videotitle = video[0]
        url1 = video[1].replace("&amp;","&")
        logger.info("url   ="+url)
        if  url.endswith(".jpg"):break
        server = video[2]
        if server=="Megavideo" or "Veoh":
            xbmctools.addnewvideo( __channel__ , "play" , category , server , title.strip().replace("(Megavideo)","").replace("  "," ") + " - " + videotitle , url1 , thumbnail , plot )
            
        else:
            xbmctools.addnewvideo( __channel__ , "play" , category , server , title.strip().replace(server,"").replace("  "," ") + " - " + videotitle , url1 , thumbnail , plot )


        
      
    # ------------------------------------------------------------------------------------
       #  ---- Extrae los videos directos ----- 

    # Extrae los enlaces a los v�deos (Directo)
    patronvideos = "file: '([^']+)'"
    servidor = "Directo"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)
       # ---------------------------------------
       
    # Extrae los enlaces a los v�deos (izlesene)
    patronvideos = 'http://www.izlesene.com/.+?video=([0-9]{7})'
    servidor = "izlesene"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)

       #  --- Extrae los videos de veoh  ----
    patronvideos = 'var embed_code[^>]+>   <param name="movie" value="http://www.veoh.com/static/swf/webplayer/WebPlayer.swf.*?permalinkId=(.*?)&player=videodetailsembedded&videoAutoPlay=0&id=anonymous"></param>'
    servidor = "Veoh"
    extraevideos(patronvideos,data,category,title+" - Video en  Veoh",thumbnail,plot,servidor)
       # ---------------------------------------


     
#var embed_code =  '<embed id="VideoPlayback" src="http://video.google.com/googleplayer.swf?docid=1447612366747092264&hl=en&fs=true" style="width:496px;height:401px" allowFullScreen="true" allowScriptAccess="always" type="application/x-shockwave-flash" wmode="window">  </embed>' ;

       #  --- Extrae los videos de google  ----
    patronvideos = '<embed id="VideoPlayback" src="http://video.google.com/googleplayer.swf.*?docid=(.*?)&hl=en&'
    servidor = "Google"
    extraevideos(patronvideos,data,category,title+" - [Video en google]",thumbnail,plot,servidor)
       # --------------------------------------- 

       #  --- Extrae los videos de http://n59.stagevu.com  ----
    patronvideos = '"http://.*?.stagevu.com/v/.*?/(.*?).avi"'
    servidor = "Stagevu"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)
    
    #  --- Extrae los videos de dailymotion.com  ----
    patronvideos = 'value="http://www.dailymotion.com/([^"]+)"'
    
    servidor = "Dailymotion"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)
    
    #  --- Extrae los videos de vimeo.com  ----
    patronvideos = "http://vimeo.com.*?clip_id=([0-9]{8})"
    servidor = "Vimeo"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)
    
    #  --- Extrae los videos de yahoo.com  ----
    patronvideos = "http://.*?video.yahoo.com.*?id=([v0-9]{10})"
    servidor = "Yahoo"
    extraevideos(patronvideos,data,category,title,thumbnail,plot,servidor)
    
       # --Muestra Una opcion mas para videos documentales relacionados con el tema--
    print "esta es la url :%s" %url
    try:
            patron = "http://www.sonolatino.com.*?\_(.*?)\.html"
            matches = re.compile(patron,re.DOTALL).findall(url)
            url = uri
            titulo = "Ver Videos Relacionados"
            xbmctools.addnewfolder( __channel__ , "Relacionados" , category , titulo , url , "" , "L�sta algunos videos relacionados con el mismo video musical" )
                    
            url = "http://www.sonolatino.com/ajax.php?p=detail&do=show_more_best&vid="+matches[0]
            titulo = "Ver Videos mas vistos"
            xbmctools.addnewfolder( __channel__ , "Relacionados" , category , titulo , url , "" , "L�sta algunos mas vistos relacionados con el video musical" )
        
            titulo = "Ver Videos del mismo Artista"
            url = "http://www.sonolatino.com/ajax.php?p=detail&do=show_more_artist&vid="+matches[0]
            xbmctools.addnewfolder( __channel__ , "Relacionados" , category , titulo , url , "" , "L�sta algunos videos relacionados con el mismo Artista" )
    except:
            pass
    patron  = '<h1 class="h2_artistnuevo">([^<]+)</h1>'
    matches = re.compile(patron,re.DOTALL).findall(data)
    if len(matches)>0:
        xbmctools.addnewfolder( "trailertools" , "buscartrailer" , category , "[Buscar la cancion en Youtube:] "+matches[0] , title , os.path.join(IMAGES_PATH, 'youtube_logo.png') , "Busca el video en Youtube" )
        try:
            artista = matches[0].split("-")[0].strip()
            xbmctools.addnewfolder( "trailertools" , "buscartrailer" , category , "[Buscar artista en Youtube:] "+artista , title , os.path.join(IMAGES_PATH, 'youtube_logo.png') , "Busca el video en Youtube" )
        except:
                pass
    # Label (top-right)...
    xbmcplugin.setPluginCategory( handle=pluginhandle, category=category )
        
    # Disable sorting...
    xbmcplugin.addSortMethod( handle=pluginhandle, sortMethod=xbmcplugin.SORT_METHOD_NONE )

    # End of directory...
    xbmcplugin.endOfDirectory( handle=pluginhandle, succeeded=True )