models: Support deserialization of any ImmutableObject

This commit is contained in:
Stein Magnus Jodal 2012-11-19 23:02:08 +01:00
parent 3bc4126b45
commit f83c595e3a

View File

@ -125,16 +125,9 @@ def model_json_decoder(dct):
"""
if '__type__' in dct:
obj_type = dct.pop('__type__')
if obj_type == 'Album':
return Album(**dct)
if obj_type == 'Artist':
return Artist(**dct)
if obj_type == 'Playlist':
return Playlist(**dct)
if obj_type == 'TlTrack':
return TlTrack(**dct)
if obj_type == 'Track':
return Track(**dct)
cls = globals().get(obj_type, None)
if issubclass(cls, ImmutableObject):
return cls(**dct)
return dct