Olvidaba esto, pero el Item es serializable ya de una forma muy cutre. Gracias a Plex Media Server, que me obliga a reinventar la rueda una y otra vez
Código: Seleccionar todo
def serialize(self):
separator = "|>|<|"
devuelve = ""
devuelve = devuelve + self.title + separator
devuelve = devuelve + self.url + separator
devuelve = devuelve + self.channel + separator
devuelve = devuelve + self.action + separator
devuelve = devuelve + self.server + separator
return devuelve
def deserialize(self,cadena):
trozos=cadena.split("|>|<|")
self.title = trozos[0]
self.url = trozos[1]
self.channel = trozos[2]
self.action = trozos[3]
self.server = trozos[4]
Como veis tiene pocos campos de momento, los minimos para que funcionara en Plex, pero la idea es que una vez añadidos todos no haría falta pasar todos los campos uno por uno en la URL sino que bastaría con pasar la cadena que devuelve item.serialize().
Lo suyo seria añadir todos los campos del Item, y la cadena resultante convertirla a base64 para evitar rollos de encoding y demás.
Si os viene bien podéis terminarlo, pero es algo que quería revisar en general en todas las plataformas para simplificar el paso de parámetros. Ahora mismo es un infierno incluso en XBMC.