Página 1 de 2
¿Seria posible mantener la ultima busqueda en el teclado?
Publicado: 12 Mar 2016, 12:56
por Mangue
Hola amigos, yo uso mando para navegar por Kodi, lo que me obliga a usar siempre el teclado virtual. Cuando busco una pelicula concreta y utilizo el buscador general o los buscadores de distintos canales me sucede a veces que al consultar los resultados me vuelve a saltar el teclado sin la palabra buscada, lo que me obliga a volver a digitarla pq si doy a "hecho" sin hacerlo pierdo automaticamente los resultados obtenidos. Igual me pasa cuando uso el buscador individual de los canales, tengo que teclear la busqueda en cada canal.
Seria mucho más cómodo que el buscador guardara la ultima palabra buscada con lo que no habria de teclearse mas que una vez buscaras en el canal que buscaras.
¿Seria posible incluir esta modificación en proximas versiones?
Muchas Gracias.
Re: ¿Seria posible mantener la ultima busqueda en el teclado
Publicado: 12 Mar 2016, 18:19
por robalo
La forma más fácil que se me ocurre es añadir una nueva entrada en 'resources/settings.xml' y modificar 'platformcode/launcher.py'.
En el archivo 'resources/settings.xml' insertar una línea sin categoría en cualquier parte del archivo. Lo fácil es incluirla al inicio.
Sería algo así:
Código: Seleccionar todo
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<category label="General">
[....]
por
Código: Seleccionar todo
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<setting id="tecleado" type="text" default="" />
<category label="General">
[....]
En el archivo 'platformcode/launcher.py' modificar el bloque 'elif action=="search"' para leer y almacenar la última cadena tecleada.
Código: Seleccionar todo
elif action=="search":
logger.info("pelisalacarta.platformcode.launcher search")
import xbmc
keyboard = xbmc.Keyboard("")
keyboard.doModal()
if (keyboard.isConfirmed()):
tecleado = keyboard.getText()
tecleado = tecleado.replace(" ", "+")
itemlist = channel.search(item,tecleado)
else:
itemlist = []
xbmctools.renderItems(itemlist, params, url, category)
por
Código: Seleccionar todo
elif action=="search":
logger.info("pelisalacarta.platformcode.launcher search")
import xbmc
keyboard = xbmc.Keyboard( config.get_setting("tecleado") )
keyboard.doModal()
if (keyboard.isConfirmed()):
tecleado = keyboard.getText()
config.set_setting("tecleado", tecleado)
tecleado = tecleado.replace(" ", "+")
itemlist = channel.search(item,tecleado)
else:
itemlist = []
xbmctools.renderItems(itemlist, params, url, category)
Re: ¿Seria posible mantener la ultima busqueda en el teclado
Publicado: 15 Mar 2016, 13:30
por Mangue
Hola Robalo, si modifico el launcher.py como tu dices me da error pelisalacarta y no me deja entrar.
Asi ha quedado mi archivo launcher modificado:
Código: Seleccionar todo
elif action=="download_all_episodes":
download_all_episodes(item,channel)
elif action=="search":
logger.info("pelisalacarta.platformcode.launcher search")
import xbmc
keyboard = xbmc.Keyboard( config.get_setting("tecleado") )
keyboard.doModal()
if (keyboard.isConfirmed()):
tecleado = keyboard.getText()
config.set_setting("tecleado", tecleado)
tecleado = tecleado.replace(" ", "+")
itemlist = channel.search(item,tecleado)
else:
itemlist = []
xbmctools.renderItems(itemlist, params, url, category)
else:
logger.info("pelisalacarta.platformcode.launcher executing channel '"+action+"' method")
if action!="findvideos":
exec "itemlist = channel."+action+"(item)"
#for item in itemlist:
# logger.info("viemode="+item.viewmode)
else:
# Intenta ejecutar una posible funcion "findvideos" del canal
if hasattr(channel, 'findvideos'):
exec "itemlist = channel."+action+"(item)"
if config.get_setting('filter_servers') == 'true':
itemlist = filtered_servers(itemlist, server_white_list, server_black_list)
No se si me he comido algo o falta algo.
Me dices,
Gracias
Re: ¿Seria posible mantener la ultima busqueda en el teclado
Publicado: 15 Mar 2016, 18:26
por robalo
Suponiendo que la línea 'elif action=="download_all_episodes":' está bien sangrada y que está a misma distancia del margen en espacios que la línea 'elif action=="search":' (16 espacios) lo único que veo, si no es otro error en el copy/paste es que la línea 'tecleado = tecleado.replace(" ", "+")' tiene que estar a la misma distancia del margen en espacio que 'config.set_setting("tecleado", tecleado)' (24 espacios)
Re: ¿Seria posible mantener la ultima busqueda en el teclado
Publicado: 15 Mar 2016, 18:48
por Mangue
Lo he hecho una 3a vez y esta vez si que ha funcionado no en todos los canales pero si en la mayoría. Probablemente las veces anteriores estaba bien pero me he dado cuenta que en algunos canales no funciona el buscador o el canal y por eso salia error al intentar usar el buscador.
Una pregunta, las pruebas las hago en un kodi instalado en el pc pero no es el que uso, uso un androidtv, ¿puedo copiar los archivos modificados del pc en el android o tengo que modificar los que tiene el android?
Gracias

Re: ¿Seria posible mantener la ultima busqueda en el teclado
Publicado: 15 Mar 2016, 19:55
por robalo
No deberías tener ningun problema con android+kodi, si antes los archivos eran idéncticos en el pc y en el androidtv machacar y modificar tienen el mismo efecto
Re: ¿Seria posible mantener la ultima busqueda en el teclado
Publicado: 19 Abr 2016, 10:42
por Mangue
Hola Robalo, con la version .9, el archivo launcher se ha modificado bastante, el apartado "elif action" parece ha pasado a ser "elif item actión" he modificado este apartado segun lo que me indicaste, sin embargo me da error ¿que debo modificar en este archivo?
Gracias.
Mangue
Re: ¿Seria posible mantener la ultima busqueda en el teclado
Publicado: 19 Abr 2016, 11:50
por robalo
Si, ha cambiado un poco pero si sólo añades las dos líneas que lee y escribe la última búsqueda en el sitio que les corresponde no debería darte error.
En la v.4.0.9 sería así
Código: Seleccionar todo
elif item.action=="search":
logger.info("pelisalacarta.platformcode.launcher search")
import xbmc
keyboard = xbmc.Keyboard("")
keyboard.doModal()
if (keyboard.isConfirmed()):
tecleado = keyboard.getText()
tecleado = tecleado.replace(" ", "+")
itemlist = channel.search(item,tecleado)
else:
itemlist = []
xbmctools.renderItems(itemlist, item)
por
Código: Seleccionar todo
elif item.action=="search":
logger.info("pelisalacarta.platformcode.launcher search")
import xbmc
keyboard = xbmc.Keyboard( config.get_setting("tecleado") )
keyboard.doModal()
if (keyboard.isConfirmed()):
tecleado = keyboard.getText()
config.set_setting("tecleado", tecleado)
tecleado = tecleado.replace(" ", "+")
itemlist = channel.search(item,tecleado)
else:
itemlist = []
xbmctools.renderItems(itemlist, item)
Re: ¿Seria posible mantener la ultima busqueda en el teclado
Publicado: 20 Abr 2016, 19:09
por Mangue
Nada robalo, me da error. ¿tal vez se deba al archivo settings.xml? he mantenido el modificado anterior porque no parecia que cambiara nada mas y quiza sea eso pero en cuanto pongo el launcher modificado ni siquiera puedo entrar a pelisalacarta, me da error en cuanto trato de ejecutar el addon.
Re: ¿Seria posible mantener la ultima busqueda en el teclado
Publicado: 21 Abr 2016, 23:40
por robalo
Puedes postera la parte del error del archivo kodi.log para ver dónde se detiene la carga de pelisalacarta y qué lo provoca?