

Paso 1
Añadir al fichero C:\Documents and Settings\[Nombre de Usuario]\Datos de programa\XBMC\addons\plugin.video.pelisalacarta\pelisalacarta\chanels
Código: Seleccionar todo
def actualizar(params,url,category):
logger.info("[seriesyonkis.py] addlist2Library")
if params.has_key("Serie"):
Serie = params.get("Serie")
else:
Serie = ""
if params.has_key("server"):
server = params.get("server")
else:
server = ""
if params.has_key("thumbnail"):
thumbnail = params.get("thumbnail")
else:
thumbnail = ""
# Descarga la página
Serie2=Serie.replace(" ",'-')
url = "http://www.seriesyonkis.com/serie/"+Serie2+"/"
data = scrapertools.cachePage(url)
#logger.info(data)
# Extrae las entradas (carpetas)
patronvideos = '<a href="(http://www.seriesyonkis.com/capitulo[^"]+)"[^>]+>([^<]+)</a>'
matches = re.compile(patronvideos,re.DOTALL).findall(data)
scrapertools.printMatches(matches)
pDialog = xbmcgui.DialogProgress()
ret = pDialog.create('pelisalacarta', 'Añadiendo episodios...')
pDialog.update(0, 'Añadiendo episodio...')
totalepisodes = len(matches)
logger.info ("[seriesyonkis.py - addlist2Library] Total Episodios:"+str(totalepisodes))
i = 0
errores = 0
nuevos = 0
for match in matches:
# Titulo
scrapedtitle = match[1].replace(Serie,"")
i = i + 1
pDialog.update(i*100/totalepisodes, 'Añadiendo episodio...',scrapedtitle)
if (pDialog.iscanceled()):
return
# URL
# Tenemos 2 opciones. Scrapear todos los episodios en el momento de añadirlos
# a la biblioteca o bien dejarlo para cuando se vea cada episodio. Esto segundo
# añade los episodios mucho más rápido, pero implica añadir una función
# strm_detail en cada módulo de canal. Por el bien del rendimiento elijo la
# segunda opción de momento (hacer la primera es simplemente descomentar un par de
# líneas.
# QUIZÁ SEA BUENO PARAMETRIZARLO (PONER OPCIÓN EN LA CONFIGURACIÓN DEL PLUGIN)
# PARA DEJAR QUE EL USUARIO DECIDA DONDE Y CUANDO QUIERE ESPERAR.
url = match [0]
# JUR-Las 3 líneas siguientes son para OPCIÓN 1
#scrapedurl = scrapvideoURL(url)
#if scrapedurl == "":
# errores = errores + 1
# Thumbnail
scrapedthumbnail = ""
# procesa el resto
scrapedplot = ""
# Depuracion
if (DEBUG):
logger.info("scrapedtitle="+scrapedtitle)
# logger.info("scrapedurl="+scrapedurl) #OPCION 1.
logger.info("url="+url) #OPCION 2.
logger.info("scrapedthumbnail="+scrapedthumbnail)
logger.info("Serie="+Serie)
logger.info("Episodio "+str(i)+" de "+str(totalepisodes)+"("+str(i*100/totalepisodes)+"%)")
# Añade a la librería #Comentada la opción 2. Para cambiar invertir los comentarios
#OPCION 1:
#library.savelibrary(scrapedtitle,scrapedurl,scrapedthumbnail,server,scrapedplot,canal=CHANNELNAME,category="Series",Serie=Serie,verbose=False)
#OPCION 2
try:
nuevos = nuevos + library.savelibrary(scrapedtitle,url,scrapedthumbnail,server,scrapedplot,canal=CHANNELNAME,category="Series",Serie=Serie,verbose=False,accion="strm_detail",pedirnombre=False)
except IOError:
logger.info("Error al grabar el archivo "+scrapedtitle)
errores = errores + 1
# xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
pDialog.close()
Añadir al fichero DialogVideoInfo.xml de nuestro skin en mi caso Confluence
C:\Archivos de programa\XBMC\addons\skin.confluence\720p\DialogVideoInfo.xml
Código: Seleccionar todo
<control type="button" id="13">
<description>Home Cinema Experience</description>
<include>ButtonInfoDialogsCommonValues</include>
<label>Sincronizar</label>
<onclick>Dialog.Close(MovieInformation)</onclick>
<onclick>Playlist.Clear</onclick>
<onclick>RunPlugin(plugin://plugin.video.pelisalacarta/?channel=seriesyonkis&action=actualizar&category=seriesyonkis&server=Megavideo&Serie=$INFO[ListItem.Title])</onclick>
</control>