diff --git a/moulinette/utils/serialize.py b/moulinette/utils/serialize.py index bc0e6d1d..692be658 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) + # Convert compatible containers into list + if isinstance(o, datetime.datetime) or isinstance(o, datetime.date): + return str(o) + # 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)