Página 6 de 6
Re: [BETA]'seriesblanco' con filtrado de enlaces
Publicado: 05 Dic 2015, 12:05
por super_berny
@seitan vuelvo a este hilo para no desviar el otro
La utilizacion del menu contextual puede ser un problema en plataformas q no lo permitan.
Personalmente siempre he creido q hay q hacer los canales y las 'utilidades' (noseqtools, tmdb.py, etc...) lo mas genericos posibles, es decir sin depender de una plataforma en concreto (librerias xbmc en este caso). De hecho los canales han de incluir una funcion isGerenic() para saber si dependen de la plataforma o no.
¿Que pasara cuando alguien abra tu canal desde otra cosa q no sea kodi? Lo mas probable es q pete al encontrar los import xmbc.
Respecto al tema del back, en gran medida podria solucionarse en el launcher. Me explico: cuando hacemos click en un item del menu, el lancher llama a la funcion correspondiente y espera recoger un listado de items (listitem), en caso de q la funcion no retorne nada muestra la pantalla con la lista vacia (solo los tres puntos para volver).
Se podria hacer (modificando el lancher) que, cuando la funcion no retorne nada, recargase el listado anterior (no se como, es solo una idea

)
Re: [BETA]'seriesblanco' con filtrado de enlaces
Publicado: 06 Dic 2015, 12:24
por SeiTaN
super_berny, tienes razón en lo de multiplataforma, pero yo como solo uso kodi no puedo testear el resto de plataformas, esto es como todo, lo haces por una necesidad tuya, si alguien lo quiere para otra plataforma necesitaría que me hiciera de tester.
Referente a lo de canal generico, en la nueva versión tengo creado un "canal" filtertools (para asi no hacerlo dependiente de seriesblanco), que sino tiene "isGeneric()" peta, es cosa del launcher
Sobre el menú contextual... pues era mi idea desde un principio y por falta de conocimiento no conseguía que funcionara de ahí de meter la configuración como un un listado, que es un engorro, con lo que me dijo robalo y con lo que me pasaste de guitools, es mucho más rápido ya que solo tengo que obtener los datos de un sitio y no tengo que estar pasando los datos de un listitem a otro, pero tu guitools solo funciona con xbmc, habría que hacer librerías aparte para cada plataforma y yo en mi caso crear metodo que dependiendo de la plataforma pinte la ventana con una cosa u otra.
Voy a abrir otro hilo para intercambiar ideas y ya con eso intentar hacer el sistema de filtrado más lógico y cómodo.
Re: [BETA]'seriesblanco' con filtrado de enlaces
Publicado: 07 Dic 2015, 11:06
por super_berny
SeiTaN escribió:... como solo uso kodi no puedo testear el resto de plataformas, esto es como todo, lo haces por una necesidad tuya, si alguien lo quiere para otra plataforma necesitaría que me hiciera de tester.
Yo tambien utilizo unicamente Kodi, y evidentemente para adaptarlo a otras plataformas habra q reescribir y probar muchas cosas, pero si se utilizan librerias estandar de python sera mucho mas sencillo. Basta con no utilizar librerias especificas de kodi.
SeiTaN escribió: pero tu guitools solo funciona con xbmc, habría que hacer librerías aparte para cada plataforma
Si, esa es la idea y ya lo dije en su dia. Pero con crear un guitools especifico para una determinada plataforma ya tendremos adaptados todos los canales q la utilicen. Por ejemplo, para alguien acostumbrado al html no le seria demasiado complicado implementar todos los metodos de guitools en este lenguaje.
SeiTaN escribió:y yo en mi caso crear metodo que dependiendo de la plataforma pinte la ventana con una cosa u otra
Aqui no te pillo. Si utilizas guitools tu no has de hacer nada, simplemente llamar a los metodos necesarios. Es lo que se conoce por encapsulaminto, tu solo has de saber q llamando a una determinada funcion tendras un determinado resultado, independientemente de como se haga internamente (en una plataforma u otra)
Re: [BETA]'seriesblanco' con filtrado de enlaces
Publicado: 07 Dic 2015, 11:59
por SeiTaN
super_berny escribió:
SeiTaN escribió:y yo en mi caso crear metodo que dependiendo de la plataforma pinte la ventana con una cosa u otra
Aqui no te pillo. Si utilizas guitools tu no has de hacer nada, simplemente llamar a los metodos necesarios. Es lo que se conoce por encapsulaminto, tu solo has de saber q llamando a una determinada funcion tendras un determinado resultado, independientemente de como se haga internamente (en una plataforma u otra)
Me refiero que si uso guitools para pintar la ventana, para poder usarlo tengo que usar una determinada estructura que evidentemente no será igual para html u otro.
Código: Seleccionar todo
def pintarventana(params):
if plataform == 'kodi':
bla bla bla
elif plataform == "html":
bli bli bli
Re: [BETA]'seriesblanco' con filtrado de enlaces
Publicado: 07 Dic 2015, 16:42
por super_berny
SeiTaN escribió:hola @super_berny, he mirado tu sugerencia y de lo que comentas del byteify, yo de hecho cambiaría el contenido de to_utf8(dct) por lo que hace byteify.
Ya que "to_uft8" no me arregla el unicode en list()
lo unico que cambiaría seria añadir el ignore, para evitar que falle al convertir a utf8
Código: Seleccionar todo
def to_utf8(data):
if isinstance(data, dict):
return {byteify(key): byteify(value) for key, value in data.iteritems()}
elif isinstance(data, list):
return [byteify(element) for element in data]
elif isinstance(data, unicode):
return data.encode('utf-8', 'ignore')
else:
return data
Hoy he probado de actualizar mi pelisalacarta en mi androidTV (kodi 14.1) y me saltaba un error de syntaxis en esta funcion. La verdad es q es algo q ya me paso hace tiempo y no supe el por q, pero ahora si lo he encontrado. Resulta que la creacion de diccionarios mediante compresion esta soportada solo desde la version python 2.7, y por lo q se ve la version q incluye Kodi no debe de ser 100% la 2.7.
La solucion es sustituir:
Código: Seleccionar todo
return {to_utf8(key): to_utf8(value) for key, value in dct.iteritems()}
por:
Código: Seleccionar todo
return dict((to_utf8(key), to_utf8(value)) for key, value in dct.iteritems())
Re: [BETA]'seriesblanco' con filtrado de enlaces
Publicado: 07 Dic 2015, 18:25
por SeiTaN
super_berny escribió:
Hoy he probado de actualizar mi pelisalacarta en mi androidTV (kodi 14.1) y me saltaba un error de syntaxis en esta funcion. La verdad es q es algo q ya me paso hace tiempo y no supe el por q, pero ahora si lo he encontrado. Resulta que la creacion de diccionarios mediante compresion esta soportada solo desde la version python 2.7, y por lo q se ve la version q incluye Kodi no debe de ser 100% la 2.7.
La solucion es sustituir:
Código: Seleccionar todo
return {to_utf8(key): to_utf8(value) for key, value in dct.iteritems()}
por:
Código: Seleccionar todo
return dict((to_utf8(key), to_utf8(value)) for key, value in dct.iteritems())
Muchas gracias, lo cambio.
Sobre lo de kodi en android, creo que es porque android incluye la version 2.6.2 de python.
Un saludo.