Página 6 de 12

Re: Actualizaciones automaticas y channelselector dinamico

Publicado: 11 Dic 2015, 19:16
por SeiTaN
que lio teneis montado con las versiones propias...

si existen los canales dentro de "channel/personal", no habría problemas, si se actualiza un fichero es del channels y no el otro. y si existen en los dos sitios se muestra el que está en personal.

Re: Actualizaciones automaticas y channelselector dinamico

Publicado: 11 Dic 2015, 19:43
por divadr
@divadr: ¿pero has portado completamente mi guitools (que estaba basado en el tuyo dicho sea de paso :D )? ¿O es lo q ya tenias?
Lo interesante es poder hacer cuadros de dialogo personalizados de una manera sencilla.
Si te refieres a el cuadro de configuración personalizado... en la versión HTML ya tengo creado el cuadro de configuración y es personalizado (como que lo he echo yo :lol: :lol: ) obviamente no sigue la misma estructura que lo que tu tienes, pero todo será cuestión de "fusionarlos" con cuatro retoques...

lo que dudo.. por no decir que no creo que sea posible es hacerlo funcionar en plex...

Re: Actualizaciones automaticas y channelselector dinamico

Publicado: 11 Dic 2015, 21:46
por robalo
Imagen
A quién le suena? :lol: :lol:

Re: Actualizaciones automaticas y channelselector dinamico

Publicado: 12 Dic 2015, 13:37
por SeiTaN
Entonces para recapitular, si hay algo mal lo corrijo:
  • 1. - la comprobación de los ficheros se hace a través del API de GitHub y se hará el caso a o b.
    • 1.a. - Se comparan los sha1 de los ficheros locales y remotos.
      1.b. - Se comparan los sha1 y la versión del fichero .json del canal.
    2. - Cuando haya actualizaciones, se mostrará una opción en el menú principal "Actualizaciones disponibles", una vez dentro de ella, listar los nombres de los canales que han sufrido alguna modificación (Ej: [Nuevo] / [Corregido] / [Eliminado] seriesfulano) junto a una opción de "Actualizar todo" por si no desea añadirlos uno por uno.
    Al seleccionar uno, te daría la opción de actualizar (se añade, sustituye o borra dependiendo del caso), descartar (para no volver a preguntar sobre ese canal) y la opción de cancelar para no hacer nada.

    3.- El paso 2 de momento se hace con Itemlist, habría que mirar si con las guitools se puede hacer algo compatible con las plataformas más usadas, ya que hay versiones que están en el foro y llevan en otro sitio aparte que no están actualizadas a la versión 4, que son:
    • 3.a. - KODI, ya está hecho.
      3.b. - PLEX, pendiente.
      3.c. - HTML, ya está hecho.
A ver que le parece al jefe para no hacer cosas en balde.

Saludos.

Re: Actualizaciones automaticas y channelselector dinamico

Publicado: 12 Dic 2015, 14:25
por super_berny
SeiTaN escribió:Entonces para recapitular, si hay algo mal lo corrijo:
  • 1. - la comprobación de los ficheros se hace a través del API de GitHub y se hará el caso a o b.
    • 1.a. - Se comparan los sha1 de los ficheros locales y remotos.
      1.b. - Se comparan los sha1 y la versión del fichero .json del canal.
Yo creo q se debe comprobar el SHA1 de los archivos canal.json y si son distintos entonces compara el numero de version. El SHA1 de los archivos remotos lo obtenemos mediante una sola llamada a la api de github, y el de los archivos locales podria estar incluido en el archivo indice (userdata/../list_channels.json) con lo cual seria muy rapida la comprobacion.

Re: Actualizaciones automaticas y channelselector dinamico

Publicado: 13 Dic 2015, 22:01
por divadr
Hola, como ya lo tenía medio montado en mis versiones, he modificado un poco mi updater.py para hace más o menos lo que hemos estado comentando en el foro.
Os lo subo… por si queréis echarle un vistazo, creo que podría ser un punto de partida sobre lo que trabajar.

Lo que hace:

Genera un índice de canales y servidores de forma automática y gestiona cuando debe regenerarse en función de si ha cambiado algún archivo desde su creación (la idea es poder usarlo también en el channelselector, y mover el código al channeltools o donde corresponda)
Funciona en base a la fecha de creación de los archivos, y falta probar su comportamiento en linux, mac, etc... para asegurarnos que el índice se regenere si se ha cambiado algún archivo, y no se regenere en cada petición a get_channels_list()

Busca actualizaciones al entrar al plugin y actúa según la configuración (Actualmente se cambia editando unas variables al principio del .py, falta ponerlo al settings)

1. Auto, Descarga las actualizaciones sin preguntar nada
2. Preguntar, Te pregunta si quieres descargarlas, pero no te da opciones de elegir cual
3. Elegir, Te avisa que hay actualizaciones y tienes que ir al menú "Actualizaciones" para gestionar que quieres descargar.

Menu Actualizaciones en el menú principal:
Añadido un Ítem llamado "Actualizaciones" en el menú principal, justo después de "Configuración" para entrar al "Gestor de actualizaciones"

Dentro hay:
Opción "Volver a buscar actualizaciones" para volver a buscar nuevas actualizaciones
Opción "Descargar todo" para descargar todas las actualizaciones

Si hay actualizaciones, te muestra el listado, indicándote si es un canal o servidor, y si es nuevo o actualizado
De momento no te muestra ninguna opción para eliminar canales que no están en el repositorio (tengo dudas de la necesidad de eliminarlos ya que si se desactivan en el repositorio, ya no aparecerán y no hace falta borrar nada de momento)
Si seleccionas una actualización te sale un dialogo preguntándote si quieres descargarla, y te muestra la versión y los cambios de la actualización, si le das a si, se descarga y si le das a no sales sin descargar nada.
Tampoco esta añadido de momento la opción de ocultar actualizaciones
De momento usa solo el SHA1 para comprobar si son diferentes, pero comprueba los SHA1 de los JSON, no de los .py de manera que si tienes un canal modificado mientras el JSON sea igual, no lo sobrescribirá.

Nota:
Como esto es provisional y puesto que lo tenia montado en mi ultima versión, he añadido un archivo platformtools.py (es el hermano mayor de mi guitools.py, para gestionar todo lo relacionado con la plataforma, vendría a ser una mezcla entre el guitools y el xbmctools) porque así lo tenia montado, pero luego habrá que decidir como se gestiona el tema para los diálogos

Adjunto channelselector modificado para añadir el Ítem "Actualizaciones" y el launcher modificado (un pequeño cambio para que funcione con el platformtools)

Si os parece lo probáis y ya sobre algo funcionando, podemos ver mas claramente hacia donde dirigirlo, para hacer algo que sea práctico tanto para usuarios avanzados como para usuarios mas domésticos.


https://drive.google.com/file/d/0ByPRdO ... sp=sharing

Re: Actualizaciones automaticas y channelselector dinamico

Publicado: 13 Dic 2015, 22:18
por SeiTaN
Le hecho un ojo, ¿de momento los .json no están operativos en la versión 4.0.4, no?

Re: Actualizaciones automaticas y channelselector dinamico

Publicado: 13 Dic 2015, 22:20
por divadr
Estar estan... pero no se usan... creo

Re: Actualizaciones automaticas y channelselector dinamico

Publicado: 13 Dic 2015, 22:23
por SeiTaN
divadr escribió:Estar estan... pero no se usan... creo
Pues no, he actualizado de 4.0.3 a 4.0.4 y no tengo los json en la carpeta channels, y me he bajado el zip que ha puesto jesus en la web, y tampoco están, al parecer solo estan en el GitHub, sino los bajo de allí.

Re: Actualizaciones automaticas y channelselector dinamico

Publicado: 13 Dic 2015, 22:43
por SeiTaN
Lo estoy probando y de momento va de lujo.

divadr, el pycharm me ha chivado un par de cosas de codigo que no están correctas, puedes subir este codigo a tu GitHub y te voy marcando las referencias ¿o directamente lo modifico allí?