From f83c595e3aa5bdeb71723ddc662132edd0cc9062 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Mon, 19 Nov 2012 23:02:08 +0100 Subject: [PATCH] models: Support deserialization of any ImmutableObject --- mopidy/models.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/mopidy/models.py b/mopidy/models.py index 4861ef0d..b8f8b8b2 100644 --- a/mopidy/models.py +++ b/mopidy/models.py @@ -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