diff options
Diffstat (limited to 'ipalib')
-rw-r--r-- | ipalib/rpc.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ipalib/rpc.py b/ipalib/rpc.py index d8207dcd6..8e9d1e3b0 100644 --- a/ipalib/rpc.py +++ b/ipalib/rpc.py @@ -388,7 +388,7 @@ def json_encode_binary(val, version): return json.dumps(result) -def _ipa_obj_hook(dct): +def _ipa_obj_hook(dct, _iteritems=six.iteritems, _list=list): if '__base64__' in dct: return base64.b64decode(dct['__base64__']) elif '__datetime__' in dct: @@ -397,6 +397,10 @@ def _ipa_obj_hook(dct): elif '__dns_name__' in dct: return DNSName(dct['__dns_name__']) else: + # XXX tests assume tuples. Is this really necessary? + for k, v in _iteritems(dct): + if v.__class__ is _list: + dct[k] = tuple(v) return dct |