diff --git a/moulinette/utils/serialize.py b/moulinette/utils/serialize.py index bc0e6d1d..800cf1b0 100644 --- a/moulinette/utils/serialize.py +++ b/moulinette/utils/serialize.py @@ -1,5 +1,6 @@ import logging from json.encoder import JSONEncoder +import datetime logger = logging.getLogger('moulinette.utils.serialize') @@ -24,6 +25,10 @@ class JSONExtendedEncoder(JSONEncoder): hasattr(o, '__iter__') and hasattr(o, 'next')): return list(o) + # Display the date in its iso format ISO-8601 Internet Profile (RFC 3339) + if isinstance(o, datetime.datetime) or isinstance(o, datetime.date): + return o.isoformat() + # Return the repr for object that json can't encode logger.warning('cannot properly encode in JSON the object %s, ' 'returned repr is: %r', type(o), o)