He estado desarrollando un canal nuevo y he visto cosas que me han llamado la atención.
-Sistema de logs.
Por un lado tenemos el logger con su fichero de configuración donde puedes definir el nivel de detalle.
Por otro lado tenemos la variable de debug booleana que tiene el fichero de configuración de pelisalacarta.
¿No deberían unificarse criterios?
Me gustaría proponer lo siguiente:
-Mensajes de log, información, ect.. con el logger
-Partes de código que estén en prueba con un if config.get_setting("debug")
Identificación de las plataformas.
Para, por ejemplo, mostrar la opción de guardar en la biblioteca he visto cosas como
Código: Seleccionar todo
if config.get_platform().startswith("xbmc") or config.get_platform().startswith("boxee"):
Código: Seleccionar todo
if config.get_platform().startswith("xbmc")
Algo así:
En /core/config.py
Código: Seleccionar todo
def get_support(property):
try:
exec "import platform."+PLATFORM_NAME+".config as platformconfig"
except:
exec "import "+PLATFORM_NAME+"config as platformconfig"
return platformconfig.get_support(property)
Código: Seleccionar todo
def get_support(property):
return aquí tiraría de un hasmap, un xml, o lo que sea que indique que cosas soporta. Por defecto devolvería nulo.
La función get_support() de momento solo se usaría con la propiedad "library" pero seguro que se os ocurren muchos mas usos.
Algo parecido se puede hacer con los canales, se me ocurren unos cuantos atributos, que ademas dejarían mas limpio el código de channelselector.py:
-working. Indica si funciona. Si no funciona porque se ha quedado obsoleto, o esta en desarrollo no se pinta en el listado de canales. En modo debug se pintan todos
-title
-language
-category
-type
-adult. Booleano que indica si se bloquea cuando enableadultmode=true
-version. Por si las moscas
-date. Fecha de la ultima versión
Tengo mucho tiempo libre en diciembre, si se me da acceso al SVN puedo hacer limpieza de los canales por el tema de logger y los atributos de canal para limpiar el channelselector.py