diff options
author | Alex Grönholm <alex.gronholm@nextday.fi> | 2021-09-11 21:14:14 +0300 |
---|---|---|
committer | Alex Grönholm <alex.gronholm@nextday.fi> | 2021-09-11 21:14:14 +0300 |
commit | 56afe91d5dc338db3440b2e9ecdea3e522dba30f (patch) | |
tree | 311380b0d953f09919d7e8c4c0a340507e5d0dc5 /src/apscheduler/serializers | |
parent | 7248a78e7e787b728b083aaa8199eeba3a3f3023 (diff) | |
download | apscheduler-56afe91d5dc338db3440b2e9ecdea3e522dba30f.tar.gz |
Implemented a pluggable event broker system
Diffstat (limited to 'src/apscheduler/serializers')
-rw-r--r-- | src/apscheduler/serializers/json.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/apscheduler/serializers/json.py b/src/apscheduler/serializers/json.py index f7ef307..8bfe6d7 100644 --- a/src/apscheduler/serializers/json.py +++ b/src/apscheduler/serializers/json.py @@ -1,12 +1,13 @@ from __future__ import annotations +from datetime import datetime from json import dumps, loads from typing import Any import attr from ..abc import Serializer -from ..marshalling import marshal_object, unmarshal_object +from ..marshalling import marshal_date, marshal_object, unmarshal_object @attr.define(kw_only=True, eq=False) @@ -23,6 +24,8 @@ class JSONSerializer(Serializer): if hasattr(obj, '__getstate__'): cls_ref, state = marshal_object(obj) return {self.magic_key: [cls_ref, state]} + elif isinstance(obj, datetime): + return marshal_date(obj) raise TypeError(f'Object of type {obj.__class__.__name__!r} is not JSON serializable') |