diff options
Diffstat (limited to 'ipalib/encoder.py')
-rw-r--r-- | ipalib/encoder.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ipalib/encoder.py b/ipalib/encoder.py index f23e5659..8d59bd31 100644 --- a/ipalib/encoder.py +++ b/ipalib/encoder.py @@ -20,6 +20,8 @@ Encoding capabilities. """ +from decimal import Decimal + class EncoderSettings(object): """ Container for encoder settings. @@ -77,7 +79,7 @@ class Encoder(object): return self.encoder_settings.encode_postprocessor( var.encode(self.encoder_settings.encode_to) ) - elif isinstance(var, (bool, float, int, long)): + elif isinstance(var, (bool, float, Decimal, int, long)): return self.encoder_settings.encode_postprocessor( str(var).encode(self.encoder_settings.encode_to) ) @@ -131,7 +133,7 @@ class Encoder(object): return self.encoder_settings.decode_postprocessor( var.decode(self.encoder_settings.decode_from) ) - elif isinstance(var, (bool, float, int, long)): + elif isinstance(var, (bool, float, Decimal, int, long)): return var elif isinstance(var, list): return [self.decode(m) for m in var] |