Página 1 de 2

Pregunta actualización de colecciones

Publicado: 31 Mar 2015, 11:27
por Lortropic
Hola, tengo una pequeña duda sobre la actualización de colecciones de series añadidas desde pelisalacarta.

¿La actualización de las series (creación de los archivos .strm) solo se realiza en los siguientes momentos?
  1. Inicio de Kodi SI la opción "Actualizar la biblioteca al abrir XBMC" de la configuración de pelisalacarta
  2. Bajo demanda del usuario al pulsar: pelisalacarta -> ayuda -> Buscar nuevos episodios y actualizar biblioteca
¿O hay alguna otra forma que no he citado?

Lo pregunto porque mi idea sería poder dejar un Kodi (en una Raspberry Pi) siempre encendido, por lo que la actualización automática al inicio no sería una opción. Obviamente podría añadir a favoritos la actualización bajo demanda e ir dándole, pero preferiría que fuera transparente (lo que intenta hacer la primera opción) y me preguntaba si habría alguna forma de poner una automatización para que se haga solo, por ejemplo programando una hora en plan Library Auto Update.

¿Hay alguna forma de hacer esto? ¿O de llamar al script que se ejecute al inicio si está configurado el "Actualizar la biblioteca al abrir XBMC" cada cierto tiempo?

He encontrado esde add-on que permite programar tareas http://forum.kodi.tv/showthread.php?tid=144378 por lo que solo haría falta saber que es lo que hay que llamar.

Re: Pregunta actualización de colecciones

Publicado: 31 Mar 2015, 12:36
por robalo
Mira a ver si puedes encajar la última respuesta de
http://stackoverflow.com/questions/2832 ... on-raspbmc
Puede que sea lo ideal para lo que quieres

Re: Pregunta actualización de colecciones

Publicado: 31 Mar 2015, 12:43
por mabril
Lortropic escribió:Hola, tengo una pequeña duda sobre la actualización de colecciones de series añadidas desde pelisalacarta.

¿La actualización de las series (creación de los archivos .strm) solo se realiza en los siguientes momentos?
  1. Inicio de Kodi SI la opción "Actualizar la biblioteca al abrir XBMC" de la configuración de pelisalacarta
  2. Bajo demanda del usuario al pulsar: pelisalacarta -> ayuda -> Buscar nuevos episodios y actualizar biblioteca
¿O hay alguna otra forma que no he citado?

Lo pregunto porque mi idea sería poder dejar un Kodi (en una Raspberry Pi) siempre encendido, por lo que la actualización automática al inicio no sería una opción. Obviamente podría añadir a favoritos la actualización bajo demanda e ir dándole, pero preferiría que fuera transparente (lo que intenta hacer la primera opción) y me preguntaba si habría alguna forma de poner una automatización para que se haga solo, por ejemplo programando una hora en plan Library Auto Update.

¿Hay alguna forma de hacer esto? ¿O de llamar al script que se ejecute al inicio si está configurado el "Actualizar la biblioteca al abrir XBMC" cada cierto tiempo?

He encontrado esde add-on que permite programar tareas http://forum.kodi.tv/showthread.php?tid=144378 por lo que solo haría falta saber que es lo que hay que llamar.
La creación de los .strm solo se hace cuando tu añade una serie desde pelisalacarta.

Al iniciar Kodi, pelisalacarta actualiza la biblioteca de series y películas si la opción "Actualizar la biblioteca al abrir XBMC" está activada. Tras Según me contó Robalo, entiendo que lo que hace es lanzar el siguiente comando:
robalo escribió:

Código: Seleccionar todo

import xbmc
xbmc.executebuiltin('UpdateLibrary(video)')
Justo estaba escribiéndote que podías simplemente usar el cronjob de linux para hacerlo y el señor robalo se adelantó.
robalo escribió:Mira a ver si puedes encajar la última respuesta de
http://stackoverflow.com/questions/2832 ... on-raspbmc
Puede que sea lo ideal para lo que quieres
Simplemente con su enlace y su comando que te conté arriba, tendría suficiente. Pruébalo y nos comentas.

Re: Pregunta actualización de colecciones

Publicado: 31 Mar 2015, 13:09
por Lortropic
Hola, gracias por las respuestas. Respecto a esto:
mabril escribió:Al iniciar Kodi, pelisalacarta actualiza la biblioteca de series y películas si la opción "Actualizar la biblioteca al abrir XBMC" está activada. Tras Según me contó Robalo, entiendo que lo que hace es lanzar el siguiente comando:
robalo escribió:

Código: Seleccionar todo

import xbmc
xbmc.executebuiltin('UpdateLibrary(video)')
Creo que no es del todo correcto (aunque ahora lo volveré a probar). Los strm no se crean solo al añadir la serie desde pelisalacarta (que, obviamente, también se crean). Ya que eso implicaría que la serie se quedaría ahí, parada, sin actualizarse. El episodio que den mañana no saldría nunca a no ser que vuelva a buscar la serie y le de a "Añadir serie a la biblioteca" (para que se vuelvan a crear los strm con los nuevos episodios, incluido el que me falta).

Aquí tenemos 2 cosas:
1) Generación de los STRM por parte de pelisalacarta
2) Actualización de la colección por parte de Kodi

El 1 es el que me interesa. Hay una opción en pelisalacarta (arriba he puesto como llegar) que actualiza con los nuevos episodios. Podéis probarlo simplemente cargandoos algunos STRM y dándole a actualizar episodios, se vuelven a generar -> en consecuencia se actualiza la serie. Si hay un nuevo episodio se añade (después habrá que añadirlo a la colección / actualizar la colección, pero eso es independiente)

pelisalacarta, con la opción que puse en el primer post activada, hace 2 cosas: regenera/actualiza los STRM y, posteriormente, actualiza la biblioteca (para que salgan en la colección)

Re: Pregunta actualización de colecciones

Publicado: 31 Mar 2015, 13:19
por Lortropic
Estoy mirando los logs y creo que estoy viendo justo la llamada que habría que hacer:

Código: Seleccionar todo

calling plugin pelisalacarta('plugin://plugin.video.pelisalacarta/','5','?Serie&action=updatebiblio&category=Ayuda&channel=ayuda&extradata&fanart=%2fhome%2fUSER%2f.kodi%2faddons%2fplugin.video.pelisalacarta%2ffanart.jpg&fulltitle=Buscar%20nuevos%20episodios%20y%20actualizar%20biblioteca&plot&show&thumbnail&title=Buscar%20nuevos%20episodios%20y%20actualizar%20biblioteca&url')
Creo que tiene que ser la acción &action=updatebiblio que es justamente la función del python que se llama (no sabía que se puede llamar tan simple con un solo &action=método)

Seguiré investigando...

Re: Pregunta actualización de colecciones

Publicado: 31 Mar 2015, 13:42
por Lortropic
Esto me ha funcionado, aunque quiero ver si se puede limpiar algo:

kodi-send --action='RunScript("plugin.video.pelisalacarta", "5", "?Serie&action=updatebiblio&category=Ayuda&channel=ayuda&extradata&fanart=%2fhome%user%2f.kodi%2faddons%2fplugin.video.pelisalacarta%2ffanart.jpg&fulltitle=Buscar%20nuevos%20episodios%20y%20actualizar%20biblioteca&plot&show&thumbnail&title=Buscar%20nuevos%20episodios%20y%20actualizar%20biblioteca&url")'

Ese 5 no se que pinta ahí, y seguramente la ruta que hay por el camino se podrá quitar, pero al ejecutarlo se me ha bajado los STRM que faltaban + actualización de la biblioteca.

----------

Parece que este es lo mínimo que me funciona:

Código: Seleccionar todo

kodi-send --action='RunScript("plugin.video.pelisalacarta", "5", "?action=updatebiblio&channel=ayuda")'

Re: Pregunta actualización de colecciones

Publicado: 31 Mar 2015, 13:52
por robalo
Lo que dices y haces es correcto, puedes hacerlo de esa forma, usando la función 'updatebiblio' del canal 'ayuda'.
El script que te crea los strm nuevos es /library_service.py con la ayuda de /platformcode/xbmc/library.py

Si miras el contenido de la función 'updatebiblio' del canal 'ayuda' podrás ver que lo único que hace es impot library_service

import xbmc
xbmc.executebuiltin('UpdateLibrary(video)')


Es para que kodi busque nuevo contenido para actualizar la biblioteca. Esas dos líneas ya las incluye /library_service.py

Échale un ojo y quizá puedas afinar más

Re: Pregunta actualización de colecciones

Publicado: 31 Mar 2015, 14:00
por Lortropic
Hola robalo,

Si, ya he visto que solo hace un import, por eso mismo quiero evitar crear un script inútil que sea: import XXX. Si lo que puedo hacer es llamarlo directamente, y efectivamente, ha funcionado lo que he puesto arriba.

Esta llamada:

RunScript("plugin.video.pelisalacarta", "5", "?action=updatebiblio&channel=ayuda")

Hace justo lo que quiero (lo primero que he realizado ha sido intentar una llamada directa a library_service pero me ha petado)

No se que es el 5 ¿timeout? ni porque hay que poner el channel=ayuda. Parece que es porque define en algún lado un callback para el channel ayuda, pero no estoy seguro. Pero bueno, así funciona.

Si esto lo juntamos con el kodi-send en un cron tenemos justo lo que pedía.

Me falta ver si hay algo más inerno de Kodi (que no necesite cron). El The Scheduler que he puesto no me va del todo bien (o eso creo, parece que peta)

Re: Pregunta actualización de colecciones

Publicado: 31 Mar 2015, 14:48
por mabril
Lortropic escribió:Hola robalo,

Si, ya he visto que solo hace un import, por eso mismo quiero evitar crear un script inútil que sea: import XXX. Si lo que puedo hacer es llamarlo directamente, y efectivamente, ha funcionado lo que he puesto arriba.

Esta llamada:

RunScript("plugin.video.pelisalacarta", "5", "?action=updatebiblio&channel=ayuda")

Hace justo lo que quiero (lo primero que he realizado ha sido intentar una llamada directa a library_service pero me ha petado)

No se que es el 5 ¿timeout? ni porque hay que poner el channel=ayuda. Parece que es porque define en algún lado un callback para el channel ayuda, pero no estoy seguro. Pero bueno, así funciona.

Si esto lo juntamos con el kodi-send en un cron tenemos justo lo que pedía.

Me falta ver si hay algo más inerno de Kodi (que no necesite cron). El The Scheduler que he puesto no me va del todo bien (o eso creo, parece que peta)

Según http://kodi.wiki/view/List_of_built-in_functions:
"RunScript(script[,args]*), Runs the python script. You must specify the full path to the script. If the script is an add-on, you can also execute it using its add-on id. As of 2007/02/24, all extra parameters are passed to the script as arguments and can be accessed by python using sys.argv"

Es decir, ¿parece que el 5 es un parámetro para el script de pelisalacarta?

Y más preguntas:
  1. El primer parámetro deberías poner la ruta entera del plugin, ¿no?
  2. No has especificado ningún .py, ¿coge alguno por defecto?

Re: Pregunta actualización de colecciones

Publicado: 31 Mar 2015, 15:20
por Lortropic
mabril escribió:Según http://kodi.wiki/view/List_of_built-in_functions:
"RunScript(script[,args]*), Runs the python script. You must specify the full path to the script. If the script is an add-on, you can also execute it using its add-on id. As of 2007/02/24, all extra parameters are passed to the script as arguments and can be accessed by python using sys.argv"

Es decir, ¿parece que el 5 es un parámetro para el script de pelisalacarta?]
Podría ser, si, ya había visto esa info.
mabril escribió:Y más preguntas:
  1. El primer parámetro deberías poner la ruta entera del plugin, ¿no?
  2. No has especificado ningún .py, ¿coge alguno por defecto?
1) No es necesario, ya que uso el ID del plugin
2) Supongo que llama al plugin y hace la acción que le indico (en el plugin hay una función llamada exactamente como el action definido, que es la función que actualiza las series que has añadido a la biblioteca)

Como dije antes, esto ya funciona, solo quedaría hacerlo más bonito en vez de usar un cron (si es que se puede, tal vez con algo integrado en el propio Kodi). OSMC, por ejemplo, no lleva cron instalado (aunque se instala con un apt-get)