Re: Biblioteca de series en XBOX y pelisalacarta 3 no funcio
Publicado: 26 Mar 2011, 13:10
Pues he introducido los cambios que comentáis y parece que no me funciona. Os dejo un pastebin.
Soporte oficial de pelisalacarta y tvalacarta - Ayuda con tu media center
https://www.mimediacenter.info/foro/
Código: Seleccionar todo
def addlist2Library(params,url,category):
logger.info("[seriesyonkis.py] addlist2Library")
# Descarga la p·gina
data = scrapertools.cachePage(url)
#logger.info(data)
if params.has_key("Serie"):
Serie = params.get("Serie")
else:
Serie = ""
Serie = normalize('NFKD', unicode(Serie, 'utf-8')).encode('ASCII','ignore')
if params.has_key("server"):
server = params.get("server")
else:
server = ""
if params.has_key("thumbnail"):
thumbnail = params.get("thumbnail")
else:
thumbnail = ""
# 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]
# PARTE NUEVA
# Nos quedamos por un lado con el nombre de la serie y
# por otro con el num capitulo
mo = re.match("^(.*) ([\d]{1,2}[x|X][\d]{1,3}) (.*)$", scrapedtitle)
if mo == None:
errores = errores + 1
continue
if (DEBUG):
xbmc.output("CAPITULO="+ mo.group(2))
scrapedtitle = mo.group(2)
# FIN PARTE NUEVA
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()
#ActualizaciÛn de la biblioteca
if errores > 0:
logger.info ("[seriesyonkis.py - addlist2Library] No se pudo aÒadir "+str(errores)+" episodios")
library.update(totalepisodes,errores,nuevos)
return nuevos
Código: Seleccionar todo
ERROR: Error Type: exceptions.SyntaxError
ERROR: Error Contents: invalid syntax (seriesyonkis.py, line 531)
Código: Seleccionar todo
from unicodedata import normalize
Código: Seleccionar todo
mo = re.match("^(.*) ([\d]{1,2}[x|X][\d]{1,3}) (.*)$", scrapedtitle)
Código: Seleccionar todo
def addlist2Library(params,url,category):
logger.info("[seriesyonkis.py] addlist2Library")
# Descarga la p·gina
data = scrapertools.cachePage(url)
#logger.info(data)
if params.has_key("Serie"):
Serie = params.get("Serie")
else:
Serie = ""
Serie = normalize('NFKD', unicode(Serie, 'utf-8')).encode('ASCII','ignore')
if params.has_key("server"):
server = params.get("server")
else:
server = ""
if params.has_key("thumbnail"):
thumbnail = params.get("thumbnail")
else:
thumbnail = ""
# 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]
# PARTE NUEVA
# Nos quedamos por un lado con el nombre de la serie y
# por otro con el num capitulo
mo = re.match("^(.*) ([\d]{1,2}[x|X][\d]{1,3}) (.*)$", scrapedtitle)
if mo == None:
errores = errores + 1
continue
if (DEBUG):
xbmc.output("CAPITULO="+ mo.group(2))
scrapedtitle = mo.group(2)
# FIN PARTE NUEVA
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()
#ActualizaciÛn de la biblioteca
if errores > 0:
logger.info ("[seriesyonkis.py - addlist2Library] No se pudo aÒadir "+str(errores)+" episodios")
library.update(totalepisodes,errores,nuevos)
return nuevos