summaryrefslogtreecommitdiff
path: root/src/apscheduler/serializers
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2021-09-11 21:14:14 +0300
committerAlex Grönholm <alex.gronholm@nextday.fi>2021-09-11 21:14:14 +0300
commit56afe91d5dc338db3440b2e9ecdea3e522dba30f (patch)
tree311380b0d953f09919d7e8c4c0a340507e5d0dc5 /src/apscheduler/serializers
parent7248a78e7e787b728b083aaa8199eeba3a3f3023 (diff)
downloadapscheduler-56afe91d5dc338db3440b2e9ecdea3e522dba30f.tar.gz
Implemented a pluggable event broker system
Diffstat (limited to 'src/apscheduler/serializers')
-rw-r--r--src/apscheduler/serializers/json.py5
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')