summaryrefslogtreecommitdiffstats
path: root/ipalib/rpc.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/rpc.py')
-rw-r--r--ipalib/rpc.py6
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