


Aunque no se escriba json, en esta nueva revolución tecnológica, la palabra json está intrísica (que mal suena esta palabra, creo que es la primera vez que la uso



Mensaje por robalo » 23 Nov 2015, 09:35
Mensaje por SeiTaN » 23 Nov 2015, 10:53
Mensaje por SeiTaN » 23 Nov 2015, 12:19
Me acabas de dar la razón inconscientemente jajajaja, un diccionario es un diccionario, si lo quieres vestir como un string puro y duro es otra cosa.robalo escribió:Eso depende de como quieras enredar las cosas, puedemos asosciar las palabras que queramos a lo que queramos pero nunca dejará de ser lo que es.
Mensaje por divadr » 23 Nov 2015, 12:21
Código: Seleccionar todo
ítem = Ítem(title="titulo", url="http://..:", extra={"id":1, "categoria": "Series"})
Código: Seleccionar todo
ítem = Ítem(title="titulo", url="http://..:")
ítem.id = 1
ítem.categoria= "series
Código: Seleccionar todo
itemurl = '%s?fanart=%s&channel=%s&action=%s&category=%s&title=%s&fulltitle=%s&url=%s&thumbnail=%s&plot=%s&extradata=%s&Serie=%s&show=%s' % ( sys.argv[ 0 ] , fanart, canal , accion , urllib.quote_plus( category ) , urllib.quote_plus(title) , urllib.quote_plus(fulltitle) , urllib.quote_plus( url ) , urllib.quote_plus( thumbnail ) , urllib.quote_plus( plot ) , urllib.quote_plus( extradata ) , Serie, urllib.quote_plus( show ))
Código: Seleccionar todo
class Item(object):
#Yo solo dejaría los campos imprescindibles para el launcher, ya que cada uno puede añadir los que quiera
channel = ""
title = ""
url = ""
thumbnail = ""
plot = ""
fanart = ""
folder = True
action = ""
server = "directo"
extra = ""
show = ""
category = ""
language = ""
type = ""
context = ""
subtitle = ""
totalItems =0
fulltitle = ""
viewmode = "list"
#Función de inicialización que permite añadir tantos campos como quieras
def __init__(self, **kwargs):
for arg in kwargs:
exec "self."+arg+"=kwargs[arg]"
#Devuelve el ítem en un string con todos los campos, para ver en el log
def tostring(self):
devuelve=""
for property, value in sorted(vars(self).iteritems()):
if not devuelve:
devuelve = property + "=["+str(value)+"]"
else:
devuelve = devuelve + ", " + property + "=["+str(value)+"]"
return devuelve
#Serializa todas las propiedades. para crear una url, en base64 y urllib.quote para que no hayan caracteres raros que den problemas en la url
def tourl(self):
import json
import base64
import urllib
JSONItem = {}
for property, value in vars(self).iteritems():
JSONItem[property]= value
return urllib.quote(base64.b64encode(json.dumps(JSONItem)))
#Deserializa todas las propiedades. y vuelve a generar el ítem completo desde la url
def fromurl(self,cadena):
import base64
import json
import urllib
JSONItem = json.loads(base64.b64decode(urllib.unquote(cadena)))
for key in JSONItem:
if type(JSONItem[key]) == unicode:
value = JSONItem[key].encode("utf8")
else:
value = JSONItem[key]
exec "self."+key+" = value"
Código: Seleccionar todo
itemurl = '%s?fanart=%s&channel=%s&action=%s&category=%s&title=%s&fulltitle=%s&url=%s&thumbnail=%s&plot=%s&extradata=%s&Serie=%s&show=%s' % ( sys.argv[ 0 ] , fanart, canal , accion , urllib.quote_plus( category ) , urllib.quote_plus(title) , urllib.quote_plus(fulltitle) , urllib.quote_plus( url ) , urllib.quote_plus( thumbnail ) , urllib.quote_plus( plot ) , urllib.quote_plus( extradata ) , Serie, urllib.quote_plus( show ))
Código: Seleccionar todo
itemurl = sys.argv[ 0 ] + "?" + ítem.tourl()
Código: Seleccionar todo
def extract_parameters()
ítem = Ítem()
ítem.fromurl(sys.argv[2].replace("?",""))
retrun ítem
Mensaje por super_berny » 23 Nov 2015, 13:13
Mensaje por divadr » 23 Nov 2015, 13:21
Mensaje por SeiTaN » 23 Nov 2015, 18:04
Código: Seleccionar todo
item.fromurl("vengo de la clase A, metodo 1")
Código: Seleccionar todo
print item.fromurl --> "vengo de la clase A, metodo 1"
Mensaje por divadr » 23 Nov 2015, 18:09
Este es el foro oficial de soporte para pelisalacarta, tvalacarta y mywebtv.
También es un lugar para compartir tus experiencias con dispositivos multimedia y software media center, puede que encuentres algo interesante que ni siquiera sabías que se podía hacer.
Si estás empezando con Kodi, o si estás interesado en sacarle más partido, puedes echar un vistazo a esta colección de video-tutoriales.
Aprenderás a crear y optimizar tu biblioteca, a instalar add-ons, a buscar subtítulos...
Si tienes un problema en alguno de los plugins y quieres reportarlo, no olvides incluir el log.
Para que resulte útil tienes que activar la opción de "log completo" en el plugin, luego reiniciar Kodi y dar los pasos necesarios hasta que se produzca el problema.
Luego copia tu fichero de log, siguiendo las instrucciones que se describen en este enlace, e inclúyelo al final de la descripción de tu problema.
Si sabes programar, esta serie de tutoriales que describen paso a paso cómo desarrollar tu propio add-on para Kodi.
Y si quieres añadir tus propios canales a pelisalacarta también te contamos paso a paso cómo hacerlo en este enlace.
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 16 invitados