Página 3 de 6

Re: Cambio de xml a json

Publicado: 19 Nov 2015, 23:58
por robalo
Gracias divadr, entiendo los motivos por querer cambiar, no es lo mismo estar scrapeando que cargar y comparar. Pero lo del tercer archivo no logro enterder de que va. Entiendo lo que me explicó @SeiTaN80 en el github, pero son cosas bastante personales y no veo como encajar un tercer archivo con una estructura común. Igual es cosa de leeros más y mejor, bueno más no por que lo leo todo :)

No tenía intención de "intervenir" pero para retomar el tema y ver más alternativas posibles os pongo mi visión particular del tema.

Particularmente me gusta más escribir canal.version que canal['version'] y la creación o edición del fichero de configuración también me gusta más version = x.

Un ejemplo de un .py como archivo de configuración podría ser

Código: Seleccionar todo

# -*- coding: utf-8 -*-

id = "animeflv"
name = "AnimeFLV"
language = "es"
update_url = ""
active = True
include_in_global_search = True
version = 3
adult= False
date = "24/10/2015"
changes = "resueltos problemas utf, libreria requests, pep8 conventions, etc"

fanart = ""
thumbnail = ""
class category(object):
    adult = False
    all = False
    anime = True
    documentary = False
    latino = False
    movie = False
    music = False
    serie = False
    torrent = False
    vos = False
Para la carga y de los valores remoto y local

Código: Seleccionar todo

    r = urllib.URLopener()
    r.retrieve( "http://robalo.esy.es/test/animeflvcfg.py", os.path.join(config.get_runtime_path(), "channels", "__tempcfg__.py") )
    ch_r = __import__("channels.__tempcfg__", globals(), locals(), ["*"], -1)
    ch_l = __import__("channels." + channel_name, globals(), locals(), ["*"], -1)
Y el uso pues ya sabemos como
if ch_l.version < ch_r.version:
if ch_l.category.adult:
etc...

Re: Cambio de xml a json

Publicado: 20 Nov 2015, 00:05
por divadr
Es por un tema de rendimiento... para crear la lista de canales si tenemos que importar todos los canales es mas lento que leer el JSON... yo con el blusens probe las dos opciones y cambia bastante el tiempo de carga... nada mas que eso

Yo tambien probe de incluir los datos dentro del mismo .py pero era mas lento

Re: Cambio de xml a json

Publicado: 20 Nov 2015, 00:15
por super_berny
robalo escribió:Pero lo del tercer archivo no logro enterder de que va.
Lo del tercer archivo es una tema a desarrollar en el futuro. Jesus me comento q en plex el sistema de setting se estaba quedando justo, no tengo ni idea pero parece ser q hay un numero limitado de 'variables' q se pueden utilizar (o eso entendi yo).

¿No seria mas logico poner cada cosa en su sitio? Dejar el setting actual para las cosas comunes y q cada canal tubiese sus propios parametros configurables. De ahi salio el tema del tercer archivo. Se debatia si incluir las configuraciones en el archivo de parametros (lo q hasta ahora era el xml) o en un tercer archivo dentro de la carpeta de datos del usuario 'userdata\addon_data\plugin.video.pelisalacarta' para q al actualizar no lo machaque.
Pero como digo son conjeturas de cara a implementarlo en proximas version.

Re: Cambio de xml a json

Publicado: 20 Nov 2015, 00:18
por robalo
no se divadr, aún no he probado el nuevo channelselector con ningún tipo de archivos pero me da que es lo mismo, al final todo son direcciones de memoria pero aún así lo probaré.

Re: Cambio de xml a json

Publicado: 20 Nov 2015, 00:37
por robalo
super_berny la verdad es que me has aclarado poco, estoy en el mismo punto Qué tenie que ver el settings con el tercer archivo? Si el que haga o edite el canal piensa que es necesario crear uno o varios archivos extras en userdata, pues que prepare el canal para tal fin, no creo que tenga que decirle nada a nadie de como almacenar los datos que se usarán en el canal, al que no le guste que se lo haga el.

Plex no se si tiene capao el número de entradas en la configuración, desconozco los problemas que han podido tener. De momento ahí estamos con los canales que tenemos. Yo le tengo puesto algunos más y de momento no se me queja :)

Re: Cambio de xml a json

Publicado: 20 Nov 2015, 17:36
por SeiTaN
Pues sigiendo el razonamiento que habeis dado, he cambiado la ruta del fichero de datos para mis canales.

[KODI Windows]
C:\Users\NOMBRE_USUARIO\AppData\Roaming\Kodi\userdata\addon_data\plugin.video.pelisalacarta\channels
La ruta la coge por la función config.get_data_path()
Lo que he hecho es crear una carpeta "channels" para que esté todo más a mano, ya que tengo varios ficheros de configuración.

Saludos

Re: Cambio de xml a json

Publicado: 20 Nov 2015, 19:44
por robalo
Bueno, he probado, por tema de rendimiento, la combinación:
channelselector+core.channeltools+xml sin filtros 117 archivos en 0.026 s
channelselector+py sin filtros 117 archivos en 0.036 s

Me falta JSON pero creo que andará más o menos en el mismo rango. Creo que no es para llevarse las manos a la cabeza. :)
Esta noche, si puedo, prepararé el script para pasar los xml a json y saldremos de dudas.

Re: Cambio de xml a json

Publicado: 20 Nov 2015, 23:02
por robalo
Probado json:
channelselector+json sin filtros 117 archivos en 0.040 s

El campeón es el xml :) pero vamos los tiempos en ninguno de los casos es para echarse a llorar. Lo que si queda claro que por rendimiento no se puede excluir a ninguno

Re: Cambio de xml a json

Publicado: 25 Nov 2015, 23:30
por SeiTaN
jesus escribió:
Así no se chafará al actualizar el plugin, y diferentes perfiles dentro del mismo Kodi podrán tener configuraciones distintas.
¿Los perfiles como van en relación a los plugins?

He creado uno y tengo acceso a los plugins, sin haberlos instalado en ese perfil

Aparte que veo que la carpeta de "profiles" se crea fuera en
C:\Users\USUARIO\AppData\Roaming\Kodi\userdata\profiles\prueba\

mientras que los datos del plugin (creados como master) están en
C:\Users\USUARIO\AppData\Roaming\Kodi\userdata\addon_data\plugin.video.pelisalacarta\

¿Cómo se puede saber que perfil está activo?

Lo digo para que si creo el fichero canal.data.json, tengamos dos diferentes en distintas rutas.

profile.canal.data.json [estructura]
profile --> nombre del perfil
canal -> nombre del canal
data -> valor para que saber que hay datos
json -> no hace falta explicarlo

Asi tendríamos paquito.seriesblanco.data.json

Paquito ve por ejemplo "True Detective" en español y tendría filtrado los enlaces asi.

y karen.seriesblanco.data.json

Karen tb ve "True Detective" pero como ella es poliglota y prefiere los enlaces en VO


Saludos

Re: Cambio de xml a json

Publicado: 25 Nov 2015, 23:48
por super_berny
SeiTan la verdad es q no tengo ni idea sobre los perfiles de Kodi, pero creo q Jesus se referia a diferentes usuarios de windows.
En tu caso si tanto Paquito como Karen utilizan el mismo usuario de windows, pero diferente perfil de Kodi (q ya seria raro, aunq posible), no se si podrias crear ambos filtros personalizados dentro de un unico archivo algo asi:

Código: Seleccionar todo

{'filtros':{'paquito':[{'serie1':...},{'serieN':...}],'karen':[{'serie1':...},{'serieN':...}]}}
Supongo q debe haber alguna manera de recuperar el nombre del perfil desde python, ¿no?

Lo de crear mas ficheros puede ser un poco de lio cuando necesitemos borrar un canal ¿no crees?