Gestión de Excepciones.
Publicado: 03 Feb 2010, 20:07
Si se le puede poner alguna peguilla a nuestro amado pelisalacarta es que a veces casca con un genérico error de plugin y, si no somos mañosos con los logs y el phython nos vemos un poco colgados con el asunto.
Un error que me ha pasado un par de veces es que el plugin deja de funcionar sin saber porque. Cuando me voy a los logs compruebo que simplemente se trata de que he perdido conexión con internet...
Pues bien, algunos errores pueden ser facilmente interceptables para informar un poco mejor al usuario y que haga algo él mismo...
Este pequeño parche en pelisalacarta.py intercepta los errores de conexión a internet:
Si te parece adecuado Jesus puedes ponerlo en la siguiente version.
Jur.
Un error que me ha pasado un par de veces es que el plugin deja de funcionar sin saber porque. Cuando me voy a los logs compruebo que simplemente se trata de que he perdido conexión con internet...
Pues bien, algunos errores pueden ser facilmente interceptables para informar un poco mejor al usuario y que haga algo él mismo...
Este pequeño parche en pelisalacarta.py intercepta los errores de conexión a internet:
Código: Seleccionar todo
import xbmcgui
import urllib,urllib2
try:
# Accion por defecto - elegir canal
if ( action=="selectchannel" ):
import channelselector as plugin
plugin.listchannels(params, url, category)
# Actualizar version
elif ( action=="update" ):
import updater
updater.update(params)
import channelselector as plugin
plugin.listchannels(params, url, category)
# El resto de acciones vienen en el parámetro "action", y el canal en el parámetro "channel"
elif (action=="strm"):
xbmctools.playstrm(params, url, category)
else:
exec "import "+params.get("channel")+" as plugin"
exec "plugin."+action+"(params, url, category)"
except urllib2.URLError:
xbmc.output("[pelisalacarta.py] Error de conexión a Internet - Interceptado")
ventana_error = xbmcgui.Dialog()
ok= ventana_error.ok ("Plugin Pelisalacarta", "No se ha podido acceder a internet", "Comprueba la conexión")
Si te parece adecuado Jesus puedes ponerlo en la siguiente version.
Jur.