Página 1 de 4

Solución a Allmyvideos, Vidspot y played.to en Biblioteca.

Publicado: 29 Oct 2013, 16:57
por quality
En la actualidad, hemos comprobado que, si agregamos una pelicula a la biblioteca desde un enlace de Allmyvideos, da un error, ya que genera un listado de enlaces no válidos a la hora de la reproducción.

Bien, pues he descubierto que si modificamos el fichero .strm correspondiente y añadimos antes del codigo del video "embed-" y al final del mismo ".html", el fichero se reproduce perfectamente.

Ejemplo:

Fichero tal y conforme se agrega ahora a la biblioteca (que no funciona):

"plugin://plugin.video.pelisalacarta/?channel=peliculasyonkis_generico&action=play_from_library&category=Cine&title=Lobezno+inmortal+%282013%29&url=http%3A%2F%2Fallmyvideos.net%2F0a1hpyfdg1i0&thumbnail=&plot=&server=allmyvideos&Serie=&subtitle=&extra="

Fichero que funciona en la biblioteca:

"plugin://plugin.video.pelisalacarta/?channel=peliculasyonkis_generico&action=play_from_library&category=Cine&title=Lobezno+inmortal+%282013%29&url=http%3A%2F%2Fallmyvideos.net%2Fembed-0a1hpyfdg1i0.html&thumbnail=&plot=&server=allmyvideos&Serie=&subtitle=&extra="

Con lo cual, si conseguis, que al agregar a la biblioteca se añadan dichas cadenas al patrón, solucionaremos un problema que fastidia bastante a los cinefilos.

Nota: como ya sabeis hay que quitarle las comillas.

Un saludo.

Re: Solución a enlaces de Allmyvideos en Biblioteca.

Publicado: 29 Oct 2013, 21:42
por quality
Otra vuelta de tuerca:

Lo anterior de allmyvideos también funciona para las urls de Vidspot y Playedto.

He visto que aparte de listar ya el enlace correcto sigue listando algunos incorrectos, investigaré a ver si podemos hacer que no aparezcan las urls incorrectas.

Saludos.

Re: Solución a enlaces de Allmyvideos en Biblioteca.

Publicado: 30 Oct 2013, 12:11
por quality
Hola Jesús,

Sustiyendo la función play_video del fichero xbmctools.py por la siguiente anexo ya se pueden añadir videos de allmyvideos, vidspot y played.to a la biblioteca y que de los enlaces que te aparezcan, al menos uno funcione (faltaría eliminar de la lista los enlaces erróneos). Aquí te dejo el código por si ves conveniente añadirlo en la próxima versión del pelisalacarta.

"def play_video(channel="",server="",url="",category="",title="", thumbnail="",plot="",extra="",desdefavoritos=False,desdedescargados=False,desderrordescargas=False,strmfile=False,Serie="",subtitle="", video_password="",fulltitle=""):
from servers import servertools
import sys
import xbmcgui,xbmc
try:
logger.info("[xbmctools.py] play_video(channel=%s, server=%s, url=%s, category=%s, title=%s, thumbnail=%s, plot=%s, desdefavoritos=%s, desdedescargados=%s, desderrordescargas=%s, strmfile=%s, Serie=%s, subtitle=%s" % (channel,server,url,category,title,thumbnail,plot,desdefavoritos,desdedescargados,desderrordescargas,strmfile,Serie,subtitle))
except:
pass

try:
server = server.lower()
except:
server = ""

if server=="":
server="directo"

try:
from core import descargas
download_enable=True
except:
download_enable=False

view = False
# Abre el diálogo de selección
opciones = []
default_action = config.get_setting("default_action")
logger.info("default_action="+default_action)

# Si no es el modo normal, no muestra el diálogo porque cuelga XBMC
muestra_dialogo = (config.get_setting("player_mode")=="0" and not strmfile)

# Extrae las URL de los vídeos, y si no puedes verlo te dice el motivo
video_urls,puedes,motivo = servertools.resolve_video_urls_for_playing(server,url,video_password,muestra_dialogo)

# Si puedes ver el vídeo, presenta las opciones
if puedes:
for video_url in video_urls:
opciones.append(config.get_localized_string(30151) + " " + video_url[0])
if server=="local":
opciones.append(config.get_localized_string(30164))
else:
if download_enable:
opcion = config.get_localized_string(30153)
opciones.append(opcion) # "Descargar"

if channel=="favoritos":
opciones.append(config.get_localized_string(30154)) # "Quitar de favoritos"
else:
opciones.append(config.get_localized_string(30155)) # "Añadir a favoritos"

if not strmfile:
opciones.append(config.get_localized_string(30161)) # "Añadir a Biblioteca"

if download_enable:
if channel!="descargas":
opciones.append(config.get_localized_string(30157)) # "Añadir a lista de descargas"
else:
if category=="errores":
opciones.append(config.get_localized_string(30159)) # "Borrar descarga definitivamente"
opciones.append(config.get_localized_string(30160)) # "Pasar de nuevo a lista de descargas"
else:
opciones.append(config.get_localized_string(30156)) # "Quitar de lista de descargas"

if config.get_setting("jdownloader_enabled")=="true":
opciones.append(config.get_localized_string(30158)) # "Enviar a JDownloader"
if config.get_setting("pyload_enabled")=="true":
opciones.append(config.get_localized_string(30158).replace("jDownloader","pyLoad")) # "Enviar a pyLoad"

if default_action=="3":
seleccion = len(opciones)-1

# Busqueda de trailers en youtube
if not channel in ["Trailer","ecarteleratrailers"]:
opciones.append(config.get_localized_string(30162)) # "Buscar Trailer"

# Si no puedes ver el vídeo te informa
else:
import xbmcgui
if server!="":
advertencia = xbmcgui.Dialog()
if "<br/>" in motivo:
resultado = advertencia.ok( "No puedes ver ese vídeo porque...",motivo.split("<br/>")[0],motivo.split("<br/>")[1],url)
else:
resultado = advertencia.ok( "No puedes ver ese vídeo porque...",motivo,url)
else:
resultado = advertencia.ok( "No puedes ver ese vídeo porque...","El servidor donde está alojado no está","soportado en pelisalacarta todavía",url)

if channel=="favoritos":
opciones.append(config.get_localized_string(30154)) # "Quitar de favoritos"

if channel=="descargas":
if category=="errores":
opciones.append(config.get_localized_string(30159)) # "Borrar descarga definitivamente"
else:
opciones.append(config.get_localized_string(30156)) # "Quitar de lista de descargas"

if len(opciones)==0:
return

# Si la accion por defecto es "Preguntar", pregunta
# FIXME: Excepto si el vídeo es un torrent
if default_action=="0" and server!="torrent":
import xbmcgui
dia = xbmcgui.Dialog()
seleccion = dia.select(config.get_localized_string(30163), opciones) # "Elige una opción"
#dia.close()
elif default_action=="0" and server=="torrent":
advertencia = xbmcgui.Dialog()
logger.info("video_urls[0]="+str(video_urls[0][1]))
if puedes and ('"status":"COMPLETED"' in video_urls[0][1] or '"percent_done":100' in video_urls[0][1]):
listo = "y está listo para ver"
else:
listo = "y se está descargando"
resultado = advertencia.ok( "Torrent" , "El torrent ha sido añadido a la lista" , listo )
seleccion=-1

elif default_action=="1":
seleccion = 0
elif default_action=="2":
seleccion = len(video_urls)-1
elif default_action=="3":
seleccion = seleccion
else:
seleccion=0

logger.info("seleccion=%d" % seleccion)
logger.info("seleccion=%s" % opciones[seleccion])

# No ha elegido nada, lo más probable porque haya dado al ESC
if seleccion==-1:
#Para evitar el error "Uno o más elementos fallaron" al cancelar la selección desde fichero strm
listitem = xbmcgui.ListItem( title, iconImage="DefaultVideo.png", thumbnailImage=thumbnail)
import sys
xbmcplugin.setResolvedUrl(int(sys.argv[ 1 ]),False,listitem) # JUR Added
#if config.get_setting("subtitulo") == "true":
# config.set_setting("subtitulo", "false")
return

if opciones[seleccion]==config.get_localized_string(30158): # "Enviar a JDownloader"
#d = {"web": url}urllib.urlencode(d)
from core import scrapertools

if subtitle!="":
data = scrapertools.cachePage(config.get_setting("jdownloader")+"/action/add/links/grabber0/start1/web="+url+ " " +thumbnail + " " + subtitle)
else:
data = scrapertools.cachePage(config.get_setting("jdownloader")+"/action/add/links/grabber0/start1/web="+url+ " " +thumbnail)

return

if opciones[seleccion]==config.get_localized_string(30158).replace("jDownloader","pyLoad"): # "Enviar a pyLoad"
logger.info("Enviando a pyload...")

if Serie!="":
package_name = Serie
else:
package_name = "pelisalacarta"

from core import pyload_client
pyload_client.download(url=url,package_name=package_name)
return

elif opciones[seleccion]==config.get_localized_string(30164): # Borrar archivo en descargas
# En "extra" está el nombre del fichero en favoritos
import os
os.remove( url )
xbmc.executebuiltin( "Container.Refresh" )
return

# Ha elegido uno de los vídeos
elif seleccion < len(video_urls):
mediaurl = video_urls[seleccion][1]
if len(video_urls[seleccion])>2:
wait_time = video_urls[seleccion][2]
else:
wait_time = 0
view = True

# Descargar
elif opciones[seleccion]==config.get_localized_string(30153): # "Descargar"
import xbmc
# El vídeo de más calidad es el último
mediaurl = video_urls[len(video_urls)-1][1]

from core import downloadtools
keyboard = xbmc.Keyboard(fulltitle)
keyboard.doModal()
if (keyboard.isConfirmed()):
title = keyboard.getText()
devuelve = downloadtools.downloadbest(video_urls,title)

if devuelve==0:
advertencia = xbmcgui.Dialog()
resultado = advertencia.ok("plugin" , "Descargado con éxito")
elif devuelve==-1:
advertencia = xbmcgui.Dialog()
resultado = advertencia.ok("plugin" , "Descarga abortada")
else:
advertencia = xbmcgui.Dialog()
resultado = advertencia.ok("plugin" , "Error en la descarga")
return

elif opciones[seleccion]==config.get_localized_string(30154): #"Quitar de favoritos"
from core import favoritos
# En "extra" está el nombre del fichero en favoritos
favoritos.deletebookmark(urllib.unquote_plus( extra ))

advertencia = xbmcgui.Dialog()
resultado = advertencia.ok(config.get_localized_string(30102) , title , config.get_localized_string(30105)) # 'Se ha quitado de favoritos'

xbmc.executebuiltin( "Container.Refresh" )
return

elif opciones[seleccion]==config.get_localized_string(30159): #"Borrar descarga definitivamente"
from core import descargas
descargas.delete_error_bookmark(urllib.unquote_plus( extra ))

advertencia = xbmcgui.Dialog()
resultado = advertencia.ok(config.get_localized_string(30101) , title , config.get_localized_string(30106)) # 'Se ha quitado de la lista'
xbmc.executebuiltin( "Container.Refresh" )
return

elif opciones[seleccion]==config.get_localized_string(30160): #"Pasar de nuevo a lista de descargas":
from core import descargas
descargas.mover_descarga_error_a_pendiente(urllib.unquote_plus( extra ))

advertencia = xbmcgui.Dialog()
resultado = advertencia.ok(config.get_localized_string(30101) , title , config.get_localized_string(30107)) # 'Ha pasado de nuevo a la lista de descargas'
return

elif opciones[seleccion]==config.get_localized_string(30155): #"Añadir a favoritos":
from core import favoritos
from core import downloadtools

keyboard = xbmc.Keyboard(downloadtools.limpia_nombre_excepto_1(fulltitle)+" ["+channel+"]")
keyboard.doModal()
if keyboard.isConfirmed():
title = keyboard.getText()
favoritos.savebookmark(titulo=title,url=url,thumbnail=thumbnail,server=server,plot=plot,fulltitle=title)
advertencia = xbmcgui.Dialog()
resultado = advertencia.ok(config.get_localized_string(30102) , title , config.get_localized_string(30108)) # 'se ha añadido a favoritos'
return

elif opciones[seleccion]==config.get_localized_string(30156): #"Quitar de lista de descargas":
from core import descargas
# La categoría es el nombre del fichero en la lista de descargas
descargas.deletebookmark((urllib.unquote_plus( extra )))

advertencia = xbmcgui.Dialog()
resultado = advertencia.ok(config.get_localized_string(30101) , title , config.get_localized_string(30106)) # 'Se ha quitado de lista de descargas'

xbmc.executebuiltin( "Container.Refresh" )
return

elif opciones[seleccion]==config.get_localized_string(30157): #"Añadir a lista de descargas":
from core import descargas
from core import downloadtools

keyboard = xbmc.Keyboard(downloadtools.limpia_nombre_excepto_1(fulltitle))
keyboard.doModal()
if keyboard.isConfirmed():
title = keyboard.getText()
descargas.savebookmark(titulo=title,url=url,thumbnail=thumbnail,server=server,plot=plot,fulltitle=title)

advertencia = xbmcgui.Dialog()
resultado = advertencia.ok(config.get_localized_string(30101) , title , config.get_localized_string(30109)) # 'se ha añadido a la lista de descargas'
return

elif opciones[seleccion]==config.get_localized_string(30161): #"Añadir a Biblioteca": # Library
from platformcode.xbmc import library
titulo = fulltitle
if fulltitle=="":
titulo = title
if "vidspot" or "allmyvideos" or "played" in url:
url = url.replace(".to/", ".to/embed-")
url = url.replace(".net/", ".net/embed-")
url = url + ".html"
library.savelibrary(titulo,url,thumbnail,server,plot,canal=channel,category=category,Serie=Serie)
advertencia = xbmcgui.Dialog()
resultado = advertencia.ok(config.get_localized_string(30101) , fulltitle , config.get_localized_string(30135)) # 'se ha añadido a la lista de descargas'
return

elif opciones[seleccion]==config.get_localized_string(30162): #"Buscar Trailer":
config.set_setting("subtitulo", "false")
import sys
xbmc.executebuiltin("Container.Update(%s?channel=%s&action=%s&category=%s&title=%s&url=%s&thumbnail=%s&plot=%s&server=%s)" % ( sys.argv[ 0 ] , "trailertools" , "buscartrailer" , urllib.quote_plus( category ) , urllib.quote_plus( fulltitle ) , urllib.quote_plus( url ) , urllib.quote_plus( thumbnail ) , urllib.quote_plus( "" ) , server ))
return

# Si no hay mediaurl es porque el vídeo no está :)
logger.info("[xbmctools.py] mediaurl="+mediaurl)
if mediaurl=="":
logger.info("b1")
if server == "unknown":
alertUnsopportedServer()
else:
alertnodisponibleserver(server)
return

# Si hay un tiempo de espera (como en megaupload), lo impone ahora
if wait_time>0:
logger.info("b2")
continuar = handle_wait(wait_time,server,"Cargando vídeo...")
if not continuar:
return

# Obtención datos de la Biblioteca (solo strms que estén en la biblioteca)
import xbmcgui
if strmfile:
logger.info("b3")
xlistitem = getLibraryInfo(mediaurl)
else:
logger.info("b4")
try:
xlistitem = xbmcgui.ListItem( title, iconImage="DefaultVideo.png", thumbnailImage=thumbnail, path=mediaurl)
except:
xlistitem = xbmcgui.ListItem( title, iconImage="DefaultVideo.png", thumbnailImage=thumbnail)
xlistitem.setInfo( "video", { "Title": title, "Plot" : plot , "Studio" : channel , "Genre" : category } )

# Descarga el subtitulo
if channel=="cuevana" and subtitle!="" and (opciones[seleccion].startswith("Ver") or opciones[seleccion].startswith("Watch")):
logger.info("b5")
try:
import os
ficherosubtitulo = os.path.join( config.get_data_path(), 'subtitulo.srt' )
if os.path.exists(ficherosubtitulo):
try:
os.remove(ficherosubtitulo)
except IOError:
logger.info("Error al eliminar el archivo subtitulo.srt "+ficherosubtitulo)
raise

from core import scrapertools
data = scrapertools.cache_page(subtitle)
#print data
fichero = open(ficherosubtitulo,"w")
fichero.write(data)
fichero.close()
#from core import downloadtools
#downloadtools.downloadfile(subtitle, ficherosubtitulo )
except:
logger.info("Error al descargar el subtítulo")

# Lanza el reproductor
if strmfile: #Si es un fichero strm no hace falta el play
logger.info("b6")
import sys
xbmcplugin.setResolvedUrl(int(sys.argv[ 1 ]),True,xlistitem)
#if subtitle!="" and (opciones[seleccion].startswith("Ver") or opciones[seleccion].startswith("Watch")):
# logger.info("[xbmctools.py] Con subtitulos")
# setSubtitles()

else:
logger.info("b7")
if config.get_setting("player_mode")=="0" or (config.get_setting("player_mode")=="3" and mediaurl.startswith("rtmp")):
logger.info("b8")
# Añadimos el listitem a una lista de reproducción (playlist)
playlist = xbmc.PlayList( xbmc.PLAYLIST_VIDEO )
playlist.clear()
playlist.add( mediaurl, xlistitem )

# Reproduce
playersettings = config.get_setting('player_type')
logger.info("[xbmctools.py] playersettings="+playersettings)

player_type = xbmc.PLAYER_CORE_AUTO
if playersettings == "0":
player_type = xbmc.PLAYER_CORE_AUTO
logger.info("[xbmctools.py] PLAYER_CORE_AUTO")
elif playersettings == "1":
player_type = xbmc.PLAYER_CORE_MPLAYER
logger.info("[xbmctools.py] PLAYER_CORE_MPLAYER")
elif playersettings == "2":
player_type = xbmc.PLAYER_CORE_DVDPLAYER
logger.info("[xbmctools.py] PLAYER_CORE_DVDPLAYER")

xbmcPlayer = xbmc.Player( player_type )
xbmcPlayer.play(playlist)

if channel=="cuevana" and subtitle!="":
logger.info("subtitulo="+subtitle)
if subtitle!="" and (opciones[seleccion].startswith("Ver") or opciones[seleccion].startswith("Watch")):
logger.info("[xbmctools.py] Con subtitulos")
setSubtitles()

elif config.get_setting("player_mode")=="1":
logger.info("b9")
#xlistitem.setProperty('IsPlayable', 'true')
#xlistitem.setProperty('path', mediaurl)
xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xbmcgui.ListItem(path=mediaurl))

elif config.get_setting("player_mode")=="2":
logger.info("b10")
xbmc.executebuiltin( "PlayMedia("+mediaurl+")" )

elif config.get_setting("player_mode")=="3":
logger.info("b11")
import download_and_play
download_and_play.download_and_play( mediaurl , "download_and_play.tmp" , config.get_setting("downloadpath") )
return

# Descarga en segundo plano para vidxden, sólo en modo free
'''
elif server=="vidxden" and seleccion==0:
from core import downloadtools
import thread,os
import xbmc

logger.info("[xbmctools.py] ---------------------------------")
logger.info("[xbmctools.py] DESCARGA EN SEGUNDO PLANO")
logger.info("[xbmctools.py] de "+mediaurl)
temp_file = config.get_temp_file("background.file")
if os.path.exists(temp_file):
os.remove(temp_file)
logger.info("[xbmctools.py] a "+temp_file)
logger.info("[xbmctools.py] ---------------------------------")
thread.start_new_thread(downloadtools.downloadfile, (mediaurl,temp_file), {'silent':True})

handle_wait(60,"Descarga en segundo plano","Se está descargando un trozo antes de empezar")

playlist = xbmc.PlayList( xbmc.PLAYLIST_VIDEO )
playlist.clear()
playlist.add( temp_file, xlistitem )

player_type = xbmc.PLAYER_CORE_AUTO
xbmcPlayer = xbmc.Player( player_type )
xbmcPlayer.play(playlist)

while xbmcPlayer.isPlaying():
xbmc.sleep(5000)
logger.info("sigo aquí...")

logger.info("fin")
'''

if config.get_setting("subtitulo") == "true" and view:
logger.info("b11")
from core import subtitletools
wait2second()
subtitletools.set_Subtitle()
if subtitle!="":
xbmc.Player().setSubtitles(subtitle)
#FIXME: Qué cosa más fea...
elif channel=="moviezet":
xbmc.Player().setSubtitles(subtitle)
"

Re: Solución a Allmyvideos, Vidspot y played.to en Bibliotec

Publicado: 30 Oct 2013, 15:03
por quality
Bueno.

He modificado el servertools para que en caso de que se trate de allmyvideos, vispot o playedto abra directamente el enlace correcto. Aquí lo dejo por si se puede añadir en la nueva version.

Saludos

"
# Función genérica para encontrar vídeos en una página
def find_video_items(item=None, data=None, channel=""):
logger.info("[launcher.py] findvideos")

# Descarga la página
if data is None:
from core import scrapertools
data = scrapertools.cache_page(item.url)
#logger.info(data)

# Busca los enlaces a los videos
from core.item import Item
from servers import servertools
listavideos = servertools.findvideos(data)

if item is None:
item = Item()

itemlist = []
for video in listavideos:
scrapedtitle = item.title.strip() + " - " + video[0].strip()
scrapedurl = video[1]
server = video[2]
if "allmyvideos" or "vidspot" or "played" in scrapedurl:
if "embed-" in scrapedurl:
itemlist.append( Item(channel=item.channel, title=scrapedtitle , action="play" , server=server, page=item.page, url=scrapedurl, thumbnail=item.thumbnail, show=item.show , plot=item.plot , folder=False) )
else:
itemlist.append( Item(channel=item.channel, title=scrapedtitle , action="play" , server=server, page=item.page, url=scrapedurl, thumbnail=item.thumbnail, show=item.show , plot=item.plot , folder=False) )

return itemlist
"

Re: Solución a Allmyvideos, Vidspot y played.to en Bibliotec

Publicado: 30 Oct 2013, 16:39
por Foxnighter
Jaaaaarlll!!!

Muchas gracias Quality. Lo he probado y funciona a las mil maravillas. Para mi este arreglo es fundamental, puesto que había dejado de lado la biblioteca de películas y era un apartado que me atraía mucho del plugin. Espero que sigas con tus arreglos y si puedes mires nowvideo (no conecta) y streamcloud (igual que con allmyvideos), que tampoco funcionan.

Lo dicho muchas gracias y espero que se lance una nueva versión en cuanto podáis con dichos arreglos.

Re: Solución a Allmyvideos, Vidspot y played.to en Bibliotec

Publicado: 01 Nov 2013, 09:22
por jesus
Gracias, igual estoy un poco despistado pero había pasado este fallo por alto :oops:

Incluyo el arreglo en la próxima versión (lo voy a aplicar ahora), aunque haré el cambio en el conector de cada uno de los servidores ya que es más lógico y sobre todo facilita el mantenimiento.

Lo mejor es modificar la extracción de patrones en cada conector, en la función "findvideos", para normalizarlo. Así todos los vídeos acaban siempre con el mismo patrón de URL. Y luego modificas en get_video_url para que haga eso en cada petición, para resolver las url que hayan podido quedar grabadas con otros formatos antes del cambio.

La función "play_video" en el módulo de xbmctools hace tiempo que se ha hecho monstruosa, está pidiendo a gritos una reforma :)

Re: Solución a Allmyvideos, Vidspot y played.to en Bibliotec

Publicado: 01 Nov 2013, 15:01
por quality
De nada, gracias a ti por el fantástico plugin, echaré una mano en todo lo que pueda.

Re: Solución a Allmyvideos, Vidspot y played.to en Bibliotec

Publicado: 02 Nov 2013, 09:38
por quality
Hola Jesús,

Gracias por tener en cuenta mi aportación en la nueva versión :D. Lo he estado probando y he visto que ya si que sale un enlace válido en la biblioteca, lo único es que siguen apareciendo un chorro de enlaces no válidos. He retocado en el ultimo servertools la función siguiente:

"

# Función genérica para encontrar vídeos en una página
def find_video_items(item=None, data=None, channel=""):
logger.info("[launcher.py] findvideos")

# Descarga la página
if data is None:
from core import scrapertools
data = scrapertools.cache_page(item.url)
#logger.info(data)

# Busca los enlaces a los videos
from core.item import Item
from servers import servertools
listavideos = servertools.findvideos(data)

if item is None:
item = Item()

itemlist = []
for video in listavideos:
scrapedtitle = item.title.strip() + " - " + video[0].strip()
scrapedurl = video[1]
server = video[2]
if "allmyvideos" or "vidspot" or "played" in scrapedurl:
if ".mp4" in scrapedurl:
itemlist.append( Item(channel=item.channel, title=scrapedtitle , action="play" , server=server, page=item.page, url=scrapedurl, thumbnail=item.thumbnail, show=item.show , plot=item.plot , folder=False) )
else:
itemlist.append( Item(channel=item.channel, title=scrapedtitle , action="play" , server=server, page=item.page, url=scrapedurl, thumbnail=item.thumbnail, show=item.show , plot=item.plot , folder=False) )



return itemlist

"

Con esto ya sólo me sale el enlace válido en la biblioteca.

Saludos!

Re: Solución a Allmyvideos, Vidspot y played.to en Bibliotec

Publicado: 02 Nov 2013, 09:45
por quality
Ostias!!!

He añadido streamcloud en la condición y ya tambien se soluciona para streamcloud!!!!!!!!

"

# Función genérica para encontrar vídeos en una página
def find_video_items(item=None, data=None, channel=""):
logger.info("[launcher.py] findvideos")

# Descarga la página
if data is None:
from core import scrapertools
data = scrapertools.cache_page(item.url)
#logger.info(data)

# Busca los enlaces a los videos
from core.item import Item
from servers import servertools
listavideos = servertools.findvideos(data)

if item is None:
item = Item()

itemlist = []
for video in listavideos:
scrapedtitle = item.title.strip() + " - " + video[0].strip()
scrapedurl = video[1]
server = video[2]
if "allmyvideos" or "vidspot" or "played" or "streamcloud" in scrapedurl:
if ".mp4" in scrapedurl:
itemlist.append( Item(channel=item.channel, title=scrapedtitle , action="play" , server=server, page=item.page, url=scrapedurl, thumbnail=item.thumbnail, show=item.show , plot=item.plot , folder=False) )
else:
itemlist.append( Item(channel=item.channel, title=scrapedtitle , action="play" , server=server, page=item.page, url=scrapedurl, thumbnail=item.thumbnail, show=item.show , plot=item.plot , folder=False) )


return itemlist

"

Re: Solución a Allmyvideos, Vidspot y played.to en Bibliotec

Publicado: 02 Nov 2013, 22:10
por quality
Hola Jesús,

Si dejo el servertools con las modificaciones anteriores sólo funciona en pelisyonkis, por lo que no es una solución válida. Seguiré investigando.

Saludos.