diff options
author | Martin Basti <mbasti@redhat.com> | 2017-02-07 17:46:08 +0100 |
---|---|---|
committer | Jan Cholasta <jcholast@redhat.com> | 2017-02-08 08:32:44 +0100 |
commit | 4c84341b8bc14cd19a4e2c2df4c13b95ff7eeb05 (patch) | |
tree | 8afc89724da927d4cceefbce44456641d70427f5 /ipalib | |
parent | ab53d80883320060769b7bfada2a813b345b9e4a (diff) | |
download | freeipa-4c84341b8bc14cd19a4e2c2df4c13b95ff7eeb05.tar.gz freeipa-4c84341b8bc14cd19a4e2c2df4c13b95ff7eeb05.tar.xz freeipa-4c84341b8bc14cd19a4e2c2df4c13b95ff7eeb05.zip |
py3: send Decimal number as string instead of base64 encoded value
for Decimal only from client to server direction uses __base64__
notation. Server replies with pure string for Decimal data, and also
server is able to parse string and create decimal values where needed.
without this we need ugly py3 code:
- return {'__base64__': base64.b64encode(str(val))}
+ return {'__base64__': base64.b64encode(
+ str(val).encode('ascii')).decode('ascii')}
https://fedorahosted.org/freeipa/ticket/4985
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipalib')
-rw-r--r-- | ipalib/rpc.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ipalib/rpc.py b/ipalib/rpc.py index 356ec4229..7d9f6ec7e 100644 --- a/ipalib/rpc.py +++ b/ipalib/rpc.py @@ -308,7 +308,7 @@ def json_encode_binary(val, version): encoded = encoded.decode('ascii') return {'__base64__': encoded} elif isinstance(val, Decimal): - return {'__base64__': base64.b64encode(str(val))} + return unicode(val) elif isinstance(val, DN): return str(val) elif isinstance(val, datetime.datetime): |