only parse date objects if dateutil is available

This commit is contained in:
Juan Riaza 2013-01-05 23:46:41 +01:00
parent f223cf70e9
commit 6ecf7599a9

View File

@ -102,16 +102,16 @@ class MessagePackParser(BaseParser):
raise ParseError('MessagePack parse error - %s' % unicode(exc)) raise ParseError('MessagePack parse error - %s' % unicode(exc))
def _decode_object(self, obj): def _decode_object(self, obj):
if '__datetime__' in obj: if dateutil_parser:
return dateutil_parser.parse(obj['as_str']) if '__datetime__' in obj:
elif b'__date__' in obj: return dateutil_parser.parse(obj['as_str'])
return dateutil_parser.parse(obj['as_str']).date() elif b'__date__' in obj:
elif b'__time__' in obj: return dateutil_parser.parse(obj['as_str']).date()
return dateutil_parser.parse(obj['as_str']).time() elif b'__time__' in obj:
elif b'__decimal__' in obj: return dateutil_parser.parse(obj['as_str']).time()
return decimal.Decimal(obj['as_str']) if b'__decimal__' in obj:
else: return decimal.Decimal(obj['as_str'])
return obj return obj
class FormParser(BaseParser): class FormParser(BaseParser):