""" Utility classes for Atheneum """ from datetime import date from typing import Any import rfc3339 from flask.json import JSONEncoder class CustomJSONEncoder(JSONEncoder): """ Ensure that datetime values are serialized correctly """ def default(self, o: Any) -> Any: # pylint: disable=E0202 try: if isinstance(o, date): return rfc3339.format(o) iterable = iter(o) except TypeError: pass else: return list(iterable) return JSONEncoder.default(self, o)