12345678910111213141516171819202122 |
- import datetime
- import typing as T
- from flask import json
- class JSONEncoder(json.JSONEncoder):
- """
- prepares job and DB objects to be json encoded
- """
- def default(self, o: T.Any) -> T.Any:
- if hasattr(o, "serialize") and callable(o.serialize):
- return o.serialize()
- if isinstance(o, datetime.datetime):
- return str(o)
- if isinstance(o, dict):
- return o
- return o.__dict__.copy()
|