Página 2 de 3

Re: De chapuzas: Opción 'Buscar...' de los canles plex

Publicado: 11 Nov 2015, 23:18
por robalo
No, no hace falta crear la línea <channel_search/>, con lo del archivo DefaultPrefs.json es suficiente, pero es bueno saber dónde se almacenan los datos y cómo.

La caja a la que me refiero en el último post es la que se ve detras de la ventana de ajustes y por encima de ella en la primera de las dos ímagenes qu acabas de colocar, la que pone "Buscar pelisalacarta".

Esa caja te muestra "Buscar pelisalacarta" por que existe en ese nivel o en en algún nivel superior una entra con "InputDirectoryObject". Posiblemente en "mainlist" con "Callback(buscador_global)".

La chapuza 2 es con la caja de plex, pero viendo la segunda imagen no se si en la TV te podría servir, no por el tema del "setting preferences is not soported....", simplemente por que no veo nada que se le parezca en la imagen.

Se me viene a la cabeza que en el buscador global se te abrió teclado pero que el foco se te quedaba detrás o algo así y se movia todo menos lo que debía. Si eso ocurrio en la TV pues por ahí por dónde tenemos que movernos sin dejar el tema de los navegadores claro.

La chapuza 2: :)
Archivo __init__.py
Esta primera modificación es tanto como si se tiene hecha la primara chapuza como si no

Código: Seleccionar todo

def canal(channel_name="",action="",caller_item_serialized=None):
    Log.Info("Entrando en canal para ejectuar "+channel_name+"."+action)
    oc = ObjectContainer(view_group="List")
por

Código: Seleccionar todo

def canal(channel_name="",action="",caller_item_serialized=None, query=""):
    Log.Info("Entrando en canal para ejectuar "+channel_name+"."+action)
    oc = ObjectContainer(view_group="List")
    oc.add(InputDirectoryObject(key = Callback(canal, channel_name=channel_name, action="search",caller_item_serialized=caller_item_serialized)))
Y si tenemos hecha la modificación de la chapuza 1

Código: Seleccionar todo

        Log.Info("Antes de hasattr")
        if hasattr(channelmodule, action):
            Log.Info("El módulo "+channel_name+" tiene una funcion "+action)
            if action=="search":
                itemlist = getattr(channelmodule, action)(caller_item, config.get_setting("channel_search").replace(' ', '+'))
            else:
                itemlist = getattr(channelmodule, action)(caller_item, )
por

Código: Seleccionar todo

        Log.Info("Antes de hasattr")
        if hasattr(channelmodule, action):
            Log.Info("El módulo "+channel_name+" tiene una funcion "+action)
            if query!="":
                itemlist = getattr(channelmodule, action)(caller_item, query.replace(' ', '+'))
            elif action=="search":
                itemlist = getattr(channelmodule, action)(caller_item, config.get_setting("channel_search").replace(' ', '+'))
            else:
                itemlist = getattr(channelmodule, action)(caller_item, )
si NO tenemos hecha la modificación de la chapuza 1

Código: Seleccionar todo

        Log.Info("Antes de hasattr")
        if hasattr(channelmodule, action):
            Log.Info("El módulo "+channel_name+" tiene una funcion "+action)
            itemlist = getattr(channelmodule, action)(caller_item)
por

Código: Seleccionar todo

        Log.Info("Antes de hasattr")
        if hasattr(channelmodule, action):
            Log.Info("El módulo "+channel_name+" tiene una funcion "+action)
            if query!="":
                itemlist = getattr(channelmodule, action)(caller_item, query.replace(' ', '+'))
            else:
                itemlist = getattr(channelmodule, action)(caller_item, )
Si hacemos esto, podemos buscar en el canal que entremos escribiendo en la caja de búsqueda de plex y pulsando enter. No tiene nada que ver con la chapu 1, pueden convivr juntas.

Si en la caja de plex escribes "tiempo", pulsas enter y tienes almacenado en preferencias "tiempos", la búsqueda la hará con la palabra "tiempo".
Si en la caja de plex escribes "tiempo", tienes almacenado en preferencias "tiempos" y pulsas en la opción "Buscar..." del canal, la búsqueda la hará con la palabra "tiempos".

Re: De chapuzas: Opción 'Buscar...' de los canles plex

Publicado: 12 Nov 2015, 02:58
por newextrem
Hola,cada cosa nueva que me dices de hacer me quedo mas :shock:
Te cuento como va la cosa,ahora tengo las dos chapus juntas y perfectas ambas como dices.
Esta ultima parece mas comoda pues entras en un canal buscas enter y listo.
Sin embargo la otra puedes poner una cadena de busqueda e ir de canal en canal viendo que resultados te da desde la seccion buscar sin tener que volver a escribir la busqueda.
Ambas muy buenas y curiosas,todo esto desde el navegador y el pc.
Ahora bien te cuento lo que paso en la TV,ahora cuando entras en cualquier canal del plugin sale una opcion nueva llamada Untitled,esta sale en todos los canales.

Imagen

Parece que es la opcion para buscar y no se porque me da que funciona correctamente si no fuera por el problema del teclado.
Al pulsar sobre esa opcion se abre el teclado para hacer la busqueda.

Imagen

El problema viene a la hora de moverte por el teclado,si te mueves hacia la derecha o hacia la izquierda no hay problema,mas que nada porque el menu de fondo no tiene opciones a derecha o izquierda.
Pero cuando te desplazas hacia arriba o abajo al mismo tiempo que te desplazas por las letras del teclado a la vez te desplazas tambien en el menu de fondo.
Vease este ejemplo en el canal Seriesflv con el teclado abierto,en el cual me e desplazado dos veces hacia abajo y se a movido el menu de fondo hasta la opcion Todas las Series.

Imagen

Y a continuacion lo que pasa cuando presionas enter en el mando.

Imagen

En la cual se ve como al pulsar enter a abierto el menu de fondo,la seccion Todas las Series.
En definitiva funciona a la vez el teclado con el menu de fondo :lol:
Y otra cosa que e notado es que como se te ocurra presionar la opcion settings para el teclado,este se queda congelado en pantalla y no desaparece por mas que quieras,la unica forma de quitarlo es reiniciando la app en la TV,pero bueno con no darle a settings asunto arreglado 8-)

Saludos

Re: De chapuzas: Opción 'Buscar...' de los canles plex

Publicado: 12 Nov 2015, 03:20
por newextrem
Ojeando como funciona el teclado en la app de Plex en la TV me e dado cuenta de una cosa,igual es una estupidez pero no se porque me da que por ahi van los tiros para que funcione correctamente.
He probado la opcion de buscar en otro canal de Plex,mas concretamente en el canal Ustream el cual tiene una opcion para buscar canales.
Al darle a la opcion de buscar se abre el teclado igual que en Pelisalacarta,pero sigue teniendo el mismo problema que Pelisalacarta de que te desplazas a la vez por el teclado y el menu de fondo.
Es en otro apartado de Plex en el cual me a surgido esta idea estupida :lol:
Si entras en Plex y vas directamente a la seccion de busqueda,es decir en la que hace la busqueda global de tu biblioteca de videos del pc.
Aqui se abre el teclado para abrir la busqueda y a la misma vez en el fondo no queda nada,asi cuando te mueves o presionas enter en el teclado no hay problema con el menu de fondo simplemente porque no hay ninguno.
Asi mi idea estupida seria la siguiente,si fuera posible que al presionar sobre ese Untitled a la misma vez que abre el teclado (cosa que ya hace) se metiera en otra seccion en la cual no hubiera ningun menu de fondo,pienso que el teclado funcionaria correctamente pues al no haber menu de fondo no habria fallo.
Claro esta es la idea estupida,pero de aqui a hacerlo funcionar hay un trecho,pues no se si es posible crear un menu en Pelisalacarta y el cual no tenga nada :?

Saludos

Re: De chapuzas: Opción 'Buscar...' de los canles plex

Publicado: 12 Nov 2015, 10:53
por robalo
Aquí tengo un problema, no puedo testear lo que puede pasar en la TV. Aún así nos la vamos a jugar y a ver que hace la tele

En el archivo __ini__.py añade un función nueva

Código: Seleccionar todo

####################################################################################################
@route('/video/pelisalacarta/buscador_canal')
def buscador_canal(channel_name="", query=""):
    Log.Info("##### buscador_canal.query ## %s ##" % query)
    oc = ObjectContainer(view_group="List")

    from servers import servertools
    channel = servertools.get_channel_module(channel_name)
    Log.Info("##### buscador_canal.channel ## %s ##" % channel)
    itemlist = channel.search( Item(), query.replace(' ', '+') )

    for item in itemlist:
        Log.Info("item="+repr(item))
        oc.add(DirectoryObject(key=Callback(canal, channel_name=item.channel, action=item.action, caller_item_serialized=item.serialize()), title=item.title, thumb=item.thumbnail))

    return oc
y modifica la nueva nueva línea que se añadió en la función canal

Código: Seleccionar todo

    oc.add(InputDirectoryObject(key = Callback(canal, channel_name=channel_name, action="search",caller_item_serialized=caller_item_serialized)))
por

Código: Seleccionar todo

    oc.add(InputDirectoryObject(key = Callback(buscador_canal, channel_name=channel_name), title = 'Buscardor', prompt = "Buscar...", thumb="http://media.tvalacarta.info/pelisalacarta/squares/thumb_buscar.png"))
Si la nueva nueva función la añades encima de la función canal te debería quedar así

Código: Seleccionar todo

[....]
    return oc

####################################################################################################
@route('/video/pelisalacarta/buscador_canal')
def buscador_canal(channel_name="", query=""):
    Log.Info("##### buscador_canal.query ## %s ##" % query)
    oc = ObjectContainer(view_group="List")

    from servers import servertools
    channel = servertools.get_channel_module(channel_name)
    Log.Info("##### buscador_canal.channel ## %s ##" % channel)
    itemlist = channel.search( Item(), query.replace(' ', '+') )

    for item in itemlist:
        Log.Info("item="+repr(item))
        oc.add(DirectoryObject(key=Callback(canal, channel_name=item.channel, action=item.action, caller_item_serialized=item.serialize()), title=item.title, thumb=item.thumbnail))

    return oc

####################################################################################################
#/{channel_name}/{action}/{caller_item_serialized}
@route('/video/pelisalacarta/canal')
def canal(channel_name="",action="",caller_item_serialized=None, query=""):
    Log.Info("Entrando en canal para ejectuar "+channel_name+"."+action)
    oc = ObjectContainer(view_group="List")
    oc.add(InputDirectoryObject(key = Callback(buscador_canal, channel_name=channel_name), title = 'Buscardor', prompt = "Buscar...", thumb="http://media.tvalacarta.info/pelisalacarta/squares/thumb_buscar.png"))

    try:
[....]

Re: De chapuzas: Opción 'Buscar...' de los canles plex

Publicado: 12 Nov 2015, 12:40
por robalo
He estado pensando que quizás pase lo mismo lo que se haga. Es complicado buscar información plex+mando a distacia+smart tv+buscar

No se si será cosa del soft de la tele o la versión de plex o las dos cosas, no he encontrado nada para este problema.

Has probado alguna vez con un teclado si pasa lo mismo? Igual espera para moverte por el teclado es Ctrl+flecha dirección

Re: De chapuzas: Opción 'Buscar...' de los canles plex

Publicado: 12 Nov 2015, 19:01
por newextrem
Buenas,antes de realizar ningun cambio te cuento lo que e descubierto y es que pensando y toqueteando e conseguido hacer busquedas en la TV :lol:
La forma seria la siguiente:

1 Entras en un canal en el que funcione la busqueda,en mi caso Seriesflv.
2 Pulsas sobre la opcion Untitled y se abre el teclado para realizar la busqueda.
3 Con el teclado abierto pulsamos la tecla verde del mando a distancia para cambiar el teclado a numerico y asi escribir el texto con los numeros del mando a distancia,como escribiamos los sms en los antiguos moviles :?
4 Despues de escribir la busqueda pulsamos enter y wuala :lol:

Lo que e observado es que hay que hacer este proceso sin pulsar en ningun momento las flechas del mando,solo el boton verde,numeros del 0 al 9 y enter solo al final.
Al hacerlo asi cuando pulsamos enter en el menu de fondo se pulsa en Untitled con la cadena de busqueda ya escrita en el teclado y wuala :lol:
Tambien e observado que si te equivocas al escribir y pulsas sobre delete all (es la unica opcion para borrar texto),este te vuelve a la pagina inicial de Plex,asique mas vale no equivocarse al escribir :o
A dia de hoy no dispongo de teclado para probar,ademas del teclado creo que viendo el teclado tambien se puede hacer por Voz con algun accesorio,pero yo no llego a tanto :?
Y dicho todo esto me pondre a probar lo ultimo que propones a ver como responde,por probar no perdemos nada,eso si esta ultima chapu hay que guardarla :lol:

Saludos

Re: De chapuzas: Opción 'Buscar...' de los canles plex

Publicado: 12 Nov 2015, 19:31
por robalo
Pues si que está complicao el asunto

Si te vle el último chapú, el 2, le puedes por título par que aparezca como "Untitle", le añades "title" y "prompt" y te quedará más mono.
Algo así:

Código: Seleccionar todo

    oc.add(InputDirectoryObject(key = Callback(canal, channel_name=channel_name, action="search",caller_item_serialized=caller_item_serialized), title="Lo que quieras", prompt="Lo que quieras"))
El prompt debería reemplazar el "Search" por lo que escribas o eso creo.

Re: De chapuzas: Opción 'Buscar...' de los canles plex

Publicado: 13 Nov 2015, 01:21
por newextrem
Buenas,te cuento como veo la cosa con esta ultima chapu.
En principio todo parece funcionar igual,solo que el nombre de Untitled cambio por Buscardor :lol: (asi ya se sabe donde hay que poner el nombre)
Y el thumbnail de la lupa queda bonito :)
Por lo demas en la TV funciona todo igual,se pueden realizar busquedas siempre y cuando se utilice el teclado numerico y ahora descubri que en caso de equivocarte al escribir la busqueda,se puede borrar con la tecla Pre Channel del mando (esto se me paso antes :lol: )
En definitiva diferencias entre la chapu 2 y 3 en la TV todo sigue igual a excepcion del nombre (Untitled por Buscardor) y el thumbnail.

En la parte del navegador y pc e notado un cambio con esta ultima chapu,igual una tonteria pero a mi modo de ver le quita funcionalidad a la caja de buscar.
Con la chapu numero 2,entras en un canal,escribes la busqueda en la caja y presionas enter y realiza la busqueda,y si por lo que sea has cambiado de opinion y quieres buscar otra cosas sin tocar a nada basta con volver a escribir la busqueda en la caja enter y listo.
Sin embargo con la chapu 3 (la ultima),entras en el canal,escribes la busqueda en la caja,enter y realiza la busqueda.
Pero si vuelves a realizar otra busqueda desde la caja,Plex te devuelve un mensaje de que el canal no esta respondiendo,cosa que con la chapu 2 no pasaba.
Para que vuelva a funcionar la caja debes retroceder y entonces ya vuelve a estar operativa la caja,resumiendo no deja hacer busquedas continuadas en la caja.

A mi modo de ver me quedaria con la chapu 2 + Nombre en el titulo (Por ejemplo Buscar en este canal) + Thumbnail
Pues es la que parece funcionar en los dos sitios (TV y Navegador).
Porque en lo de la cuestion del mando creo que mas bien es un fallo del cliente de Plex y no del plugin,pues probando en otros canales el teclado tiene el mismo fallo,que mas se puede pedir si funciona con el teclado numerico,ahora si que es una chapu del modo "Para ir tirando" :D

Y por ultimo por ponerle alguna pega es que el titulo de buscar(Untitled,Buscardor) siempre sale en la parte de arriba,ya sea en el canal,dentro de la lista de series o peliculas o enlace al video,es decir siempre.
Por lo demas nada mas que decir por ahora maestro :)

Saludos

Re: De chapuzas: Opción 'Buscar...' de los canles plex

Publicado: 13 Nov 2015, 02:18
por newextrem
He cambiado el archivo __ini__.py con lo que te dije y lo e dejado asi:

Código: Seleccionar todo

oc.add(InputDirectoryObject(key = Callback(canal, channel_name=channel_name, action="search",caller_item_serialized=caller_item_serialized), title="Buscar en el canal", thumb="http://media.tvalacarta.info/pelisalacarta/squares/thumb_buscar.png"))
Ahora funciona como en la chapu 2,funciona la busqueda desde la ruedecita,tambien la caja de Plex con busquedas continuadas y en la TV sale la opcion con nombre Buscar en el canal y su respectivo thumbnail.
No e puesto el parametro de prompt pues con title ya sale el nombre en la TV.
Y la verdad no se si es correcto asi pero funciona :lol: ,cual seria la funcion del prompt?

Saludos

Re: De chapuzas: Opción 'Buscar...' de los canles plex

Publicado: 17 Dic 2015, 10:43
por Josyan10
Completo inutil debo de ser, porque siguiendo vuestras instrucciones en los tres archivos, el programa deja de funcionarme, ni me reconoce el pluggin.

Ni restaurando a los archivos anteriores funciona. Tengo que volver a instalar plex.