summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2022-08-17 02:08:24 +0300
committerAlex Grönholm <alex.gronholm@nextday.fi>2022-08-17 02:08:24 +0300
commit8ba12c8f970d0f88f57937559f1c5b1783f257b8 (patch)
tree4c6d279002e5b11393c15df010afdd9017ff4653 /src
parent8493d1ba533df5ac66ce0065993bcae116469a5a (diff)
downloadapscheduler-8ba12c8f970d0f88f57937559f1c5b1783f257b8.tar.gz
Documented the Serializer class and removed the unicode methods
Diffstat (limited to 'src')
-rw-r--r--src/apscheduler/abc.py22
-rw-r--r--src/apscheduler/serializers/json.py6
2 files changed, 13 insertions, 15 deletions
diff --git a/src/apscheduler/abc.py b/src/apscheduler/abc.py
index 4110cd6..c95d13b 100644
--- a/src/apscheduler/abc.py
+++ b/src/apscheduler/abc.py
@@ -1,7 +1,6 @@
from __future__ import annotations
from abc import ABCMeta, abstractmethod
-from base64 import b64decode, b64encode
from datetime import datetime
from typing import TYPE_CHECKING, Any, Callable, Iterable, Iterator
from uuid import UUID
@@ -48,21 +47,26 @@ class Trigger(Iterator[datetime], metaclass=ABCMeta):
class Serializer(metaclass=ABCMeta):
+ """Interface for classes that implement (de)serialization."""
+
__slots__ = ()
@abstractmethod
- def serialize(self, obj) -> bytes:
- pass
+ def serialize(self, obj: Any) -> bytes:
+ """
+ Turn the given object into a bytestring.
- def serialize_to_unicode(self, obj) -> str:
- return b64encode(self.serialize(obj)).decode("ascii")
+ :return: a bytestring that can be later restored using :meth:`deserialize`
+ """
@abstractmethod
- def deserialize(self, serialized: bytes):
- pass
+ def deserialize(self, serialized: bytes) -> Any:
+ """
+ Restore a previously serialized object from bytestring
- def deserialize_from_unicode(self, serialized: str):
- return self.deserialize(b64decode(serialized))
+ :param serialized: a bytestring previously received from :meth:`serialize`
+ :return: a copy of the original object
+ """
class Subscription(metaclass=ABCMeta):
diff --git a/src/apscheduler/serializers/json.py b/src/apscheduler/serializers/json.py
index 2fd25fd..a6b4594 100644
--- a/src/apscheduler/serializers/json.py
+++ b/src/apscheduler/serializers/json.py
@@ -59,9 +59,3 @@ class JSONSerializer(Serializer):
def deserialize(self, serialized: bytes):
return loads(serialized, **self.load_options)
-
- def serialize_to_unicode(self, obj) -> str:
- return dumps(obj, ensure_ascii=False, **self.dump_options)
-
- def deserialize_from_unicode(self, serialized: str):
- return loads(serialized, **self.load_options)