Página 2 de 4

Re: donde esta la 4.2.0?

Publicado: 04 Dic 2016, 13:37
por SeiTaN
Vale ya lo he entendido, lo que no recuerdo es quien lo puso así, si fue divadr o superberny, ahora todo está centralizado y cuando ejecutas el strm se va a "biblioteca.py". Por eso no se muestra el pop-up como dices.

Y referente al widget ni idea, no estoy puesto en temas de skins, habría que mirar cual es el código que tiene y como se ejecuta :(

Re: donde esta la 4.2.0?

Publicado: 04 Dic 2016, 15:42
por super_berny
Lortropic escribió:No funcionan los accesos directos de los widgets de los temas.
Para solucionarlo sustituye la L394 de launcher.py:

Código: Seleccionar todo

xbmc.executebuiltin("Container.Update(" + sys.argv[0] + "?" + item.tourl() + ")")
por:

Código: Seleccionar todo

if xbmc.getCondVisibility('Window.IsMedia'):
        xbmc.executebuiltin("Container.Update(" + sys.argv[0] + "?" + item.tourl() + ")")
    else:
        xbmc.executebuiltin("ActivateWindow(10025," + sys.argv[0] + "?" + item.tourl() + ")")
Ahora la unica diferencia entre entrar por la biblioteca o por el widgets se produce a l vovler atras desde el listado de servidores. En el primer caso volvemos al listado de episodios de la biblioteca mientras q en el segundo caso volvemos al menu principal del plugin. Bueno creo q es un mal menor ¿no?

Sobre el tipo de listado (popup o normal) No entiendo cual es el problema.

Y por ultimo el error al añadir series desde el buscador. Entiendo q la serie se añade correctamente ¿no? es un error mas visual q otra cosa ¿no? habra q mirarlo.

Re: donde esta la 4.2.0?

Publicado: 04 Dic 2016, 15:57
por Lortropic
super_berny escribió:
Lortropic escribió:No funcionan los accesos directos de los widgets de los temas.
Para solucionarlo sustituye la L394 de launcher.py:

Código: Seleccionar todo

xbmc.executebuiltin("Container.Update(" + sys.argv[0] + "?" + item.tourl() + ")")
por:

Código: Seleccionar todo

if xbmc.getCondVisibility('Window.IsMedia'):
        xbmc.executebuiltin("Container.Update(" + sys.argv[0] + "?" + item.tourl() + ")")
    else:
        xbmc.executebuiltin("ActivateWindow(10025," + sys.argv[0] + "?" + item.tourl() + ")")
Ahora la unica diferencia entre entrar por la biblioteca o por el widgets se produce a l vovler atras desde el listado de servidores. En el primer caso volvemos al listado de episodios de la biblioteca mientras q en el segundo caso volvemos al menu principal del plugin. Bueno creo q es un mal menor ¿no?

Sobre el tipo de listado (popup o normal) No entiendo cual es el problema.

Y por ultimo el error al añadir series desde el buscador. Entiendo q la serie se añade correctamente ¿no? es un error mas visual q otra cosa ¿no? habra q mirarlo.
Gracias, luego lo pruebo.

Lo del popup no hay ningún problema, es que se está liando el tem. Si se lee mi mensaje original yo solo dije:
"No se puede entrar por el widget, la única diferencia que veo entre la versión 4.1.2 y la 4.2 es que antes salía como pop-up y ahora no"

Pero da la impresión de que al leer esto le habéis dado una entidad propia a que digo que antes salía como pop-up y ahora como listado cuando mi mensaje solo expresaba que el widget ahora no iba, y para intentar dar más info, por si servía de algo, que había detectado esa diferencia.

Re: donde esta la 4.2.0?

Publicado: 04 Dic 2016, 17:08
por Lortropic
Ahora si.

Comparándolo con la 4.1.2 queda feucho que te saque del home, así como al darle hacia atrás no vuelva al Home, si no que entra en el addon. Aunque esto se bypasea teniendo que pulsar una tecla que te lleve directamente al home.

También queda bastante más fea la integración con múltiples canales + menú selector, que se mete en una pantalla en gris y te saca las opciones, cuando antes simplemente saltaba el pop-up en el propio home (y como canceles, de nuevo estás dentro del addon).

También genera un problema de cacheo: He cancelado una vez la selección de canal (para ver como gestionaba el error) y ahora tiene cacheado un error y no me deja ver el episodio (cuando en 4.1.2 no pasa), es un bug bastante gordo:

1) Tenemos una serie en 2 canales, le damos al episodio: http://imgur.com/r5PYzHc
2) Seleccionamos cancelar (no era este el episodio que queríamos ver!): http://imgur.com/KneRCU4
3) Y nos sale el error, ok http://imgur.com/M1SnnEY no pasa nada, volvemos al home (tras darle atrás atras atrás, o bien tecla de home)

Ahora vamos a ver el episodio, hacemos el punto 1 y directamente salta al 3, el error está cacheado! Eso en 4.1.2 no pasa

Re: donde esta la 4.2.0?

Publicado: 05 Dic 2016, 17:48
por super_berny
Bueno, pues he estado mirandolo de nuevo y he hecho un hibrido entre la version antigua y la nueva de play_from_library:

Código: Seleccionar todo

def play_from_library(item):
    """
        Los .strm al reproducirlos desde kodi, este espera que sea un archivo "reproducible" asi que no puede contener
        más items, como mucho se puede colocar un dialogo de seleccion.
        Esto lo solucionamos "engañando a kodi" y haciendole creer que se ha reproducido algo, asi despues mediante
        "Container.Update()" cargamos el strm como si un item desde dentro de pelisalacarta se tratara, quitando todas
        las limitaciones y permitiendo reproducir mediante la funcion general sin tener que crear nuevos métodos para
        la biblioteca.
        @type item: item
        @param item: elemento con información
    """
    logger.info("pelisalacarta.platformcode.launcher play_from_library")
    # logger.debug("item: \n" + item.tostring('\n'))

    import xbmcgui
    import xbmcplugin
    import xbmc
    # Intentamos reproducir una imagen (esto no hace nada y ademas no da error)
    xbmcplugin.setResolvedUrl(int(sys.argv[1]), True,
                              xbmcgui.ListItem(path=os.path.join(config.get_runtime_path(), "icon.png")))

    # Por si acaso la imagen hiciera (en futuras versiones) le damos a stop para detener la reproduccion
    xbmc.Player().stop()

    # modificamos el action (actualmente la biblioteca necesita "findvideos" ya que es donde se buscan las fuentes
    item.action = "findvideos"

    # y volvemos a lanzar kodi
    if xbmc.getCondVisibility('Window.IsMedia'):
        xbmc.executebuiltin("Container.Update(" + sys.argv[0] + "?" + item.tourl() + ")")

    else:
        from channels import biblioteca
        from platformcode import xbmc_library
        itemlist = biblioteca.findvideos(item)

        if len(itemlist) > 0:
            # El usuario elige el mirror
            opciones = []
            for item in itemlist:
                opciones.append(item.title)

            seleccion = platformtools.dialog_select(config.get_localized_string(30163), opciones)
            if seleccion == -1:
                return

            platformtools.play_video(itemlist[seleccion])
            xbmc_library.mark_auto_as_watched(itemlist[seleccion])
    return
Si quieres pruebalo y me dices antes de enviarlo a github

Re: donde esta la 4.2.0?

Publicado: 05 Dic 2016, 18:22
por Lortropic
super_berny escribió:Bueno, pues he estado mirandolo de nuevo y he hecho un hibrido entre la version antigua y la nueva de play_from_library:

Código: Seleccionar todo

def play_from_library(item):
    """
        Los .strm al reproducirlos desde kodi, este espera que sea un archivo "reproducible" asi que no puede contener
        más items, como mucho se puede colocar un dialogo de seleccion.
        Esto lo solucionamos "engañando a kodi" y haciendole creer que se ha reproducido algo, asi despues mediante
        "Container.Update()" cargamos el strm como si un item desde dentro de pelisalacarta se tratara, quitando todas
        las limitaciones y permitiendo reproducir mediante la funcion general sin tener que crear nuevos métodos para
        la biblioteca.
        @type item: item
        @param item: elemento con información
    """
    logger.info("pelisalacarta.platformcode.launcher play_from_library")
    # logger.debug("item: \n" + item.tostring('\n'))

    import xbmcgui
    import xbmcplugin
    import xbmc
    # Intentamos reproducir una imagen (esto no hace nada y ademas no da error)
    xbmcplugin.setResolvedUrl(int(sys.argv[1]), True,
                              xbmcgui.ListItem(path=os.path.join(config.get_runtime_path(), "icon.png")))

    # Por si acaso la imagen hiciera (en futuras versiones) le damos a stop para detener la reproduccion
    xbmc.Player().stop()

    # modificamos el action (actualmente la biblioteca necesita "findvideos" ya que es donde se buscan las fuentes
    item.action = "findvideos"

    # y volvemos a lanzar kodi
    if xbmc.getCondVisibility('Window.IsMedia'):
        xbmc.executebuiltin("Container.Update(" + sys.argv[0] + "?" + item.tourl() + ")")

    else:
        from channels import biblioteca
        from platformcode import xbmc_library
        itemlist = biblioteca.findvideos(item)

        if len(itemlist) > 0:
            # El usuario elige el mirror
            opciones = []
            for item in itemlist:
                opciones.append(item.title)

            seleccion = platformtools.dialog_select(config.get_localized_string(30163), opciones)
            if seleccion == -1:
                return

            platformtools.play_video(itemlist[seleccion])
            xbmc_library.mark_auto_as_watched(itemlist[seleccion])
    return
Si quieres pruebalo y me dices antes de enviarlo a github
El return final supongo que sobra (vamos, no hace nada).

Itualmente, sale esto:
from platformcode import xbmc_library
ImportError: cannot import name xbmc_library

Lo que para ti es "xbmc_library" en mi código, develop, es library, y además ya está importado en launcher.py (arriba del todo).

Vamos, este me va:

Código: Seleccionar todo

def play_from_library(item):
    """
        Los .strm al reproducirlos desde kodi, este espera que sea un archivo "reproducible" asi que no puede contener
        más items, como mucho se puede colocar un dialogo de seleccion.
        Esto lo solucionamos "engañando a kodi" y haciendole creer que se ha reproducido algo, asi despues mediante
        "Container.Update()" cargamos el strm como si un item desde dentro de pelisalacarta se tratara, quitando todas
        las limitaciones y permitiendo reproducir mediante la funcion general sin tener que crear nuevos métodos para
        la biblioteca.
        @type item: item
        @param item: elemento con información
    """
    logger.info("pelisalacarta.platformcode.launcher play_from_library")
    # logger.debug("item: \n" + item.tostring('\n'))

    import xbmcgui
    import xbmcplugin
    import xbmc
    # Intentamos reproducir una imagen (esto no hace nada y ademas no da error)
    xbmcplugin.setResolvedUrl(int(sys.argv[1]), True,
                              xbmcgui.ListItem(path=os.path.join(config.get_runtime_path(), "icon.png")))

    # Por si acaso la imagen hiciera (en futuras versiones) le damos a stop para detener la reproduccion
    xbmc.Player().stop()

    # modificamos el action (actualmente la biblioteca necesita "findvideos" ya que es donde se buscan las fuentes
    item.action = "findvideos"

    # y volvemos a lanzar kodi
    if xbmc.getCondVisibility('Window.IsMedia'):
        xbmc.executebuiltin("Container.Update(" + sys.argv[0] + "?" + item.tourl() + ")")

    else:
        from channels import biblioteca
        itemlist = biblioteca.findvideos(item)

        if len(itemlist) > 0:
            # El usuario elige el mirror
            opciones = []
            for item in itemlist:
                opciones.append(item.title)

            seleccion = platformtools.dialog_select(config.get_localized_string(30163), opciones)
            if seleccion == -1:
                return

            platformtools.play_video(itemlist[seleccion])
            library.mark_auto_as_watched(itemlist[seleccion])

Re: donde esta la 4.2.0?

Publicado: 05 Dic 2016, 19:28
por super_berny
Lortropic escribió:El return final supongo que sobra (vamos, no hace nada).
Pues si, ese return es redundante y se puede eliminar.
Lortropic escribió:Lo que para ti es "xbmc_library" en mi código, develop, es library,...
Cierto tb, yo estoy ya en el update4

Pero bueno, veo q lo has podido solucionar. Entonces ¿lo ves ahora correcto? Lo digo para subirlo a github

Re: donde esta la 4.2.0?

Publicado: 05 Dic 2016, 19:34
por Lortropic
super_berny escribió:
Lortropic escribió:El return final supongo que sobra (vamos, no hace nada).
Pues si, ese return es redundante y se puede eliminar.
Lortropic escribió:Lo que para ti es "xbmc_library" en mi código, develop, es library,...
Cierto tb, yo estoy ya en el update4

Pero bueno, veo q lo has podido solucionar. Entonces ¿lo ves ahora correcto? Lo digo para subirlo a github
Aparentemente parece que va OK (igual que antes) ;)

Re: donde esta la 4.2.0?

Publicado: 06 Dic 2016, 19:01
por Intel1
Hola, acabo de actualizar del develop y tengo el mismo problema que no reproduce desde el "widget", me aparece para elegir el servidor y le doy en "openload LAT" y no reproduce, pero si reproduce si entro a la biblioteca de pelisalacarta.

Gracias.

Re: donde esta la 4.2.0?

Publicado: 06 Dic 2016, 19:23
por Lortropic
Ese no es el problema descrito. Cuando lo dije el problema es que no salía nada de nada (no podías ni elegir openload). Si no te sale será por otro motivo (que no funcione la reproducción de openload, por ejemplo)