diff --git a/trytond/protocols/jsonrpc.py b/trytond/protocols/jsonrpc.py index 08e2021787..3c75cf30bc 100644 --- a/trytond/protocols/jsonrpc.py +++ b/trytond/protocols/jsonrpc.py @@ -55,7 +55,8 @@ JSONDecoder.register('date', JSONDecoder.register('time', lambda dct: datetime.time(dct['hour'], dct['minute'], dct['second'], dct['microsecond'])) -JSONDecoder.register('buffer', lambda dct: Decimal(dct['decimal'])) +JSONDecoder.register('buffer', buffer(base64.decodestring(dct['base64']))) +JSONDecoder.register('Decimal', lambda dct: Decimal(dct['decimal'])) class JSONEncoder(json.JSONEncoder): diff --git a/trytond/protocols/xmlrpc.py b/trytond/protocols/xmlrpc.py index 53f6c0f1cd..c3d97e4372 100644 --- a/trytond/protocols/xmlrpc.py +++ b/trytond/protocols/xmlrpc.py @@ -88,7 +88,7 @@ class XMLRPCDecoder(object): return self.decoders[dct['__class__']](dct) return dct -XMLRPCDecoder.register('datetime', +XMLRPCDecoder.register('date', lambda dct: datetime.date(dct['year'], dct['month'], dct['day'])) XMLRPCDecoder.register('time', lambda dct: datetime.time(dct['hour'], dct['minute'], dct['second'],