diff options
author | Alex Grönholm <alex.gronholm@nextday.fi> | 2022-08-17 02:08:24 +0300 |
---|---|---|
committer | Alex Grönholm <alex.gronholm@nextday.fi> | 2022-08-17 02:08:24 +0300 |
commit | 8ba12c8f970d0f88f57937559f1c5b1783f257b8 (patch) | |
tree | 4c6d279002e5b11393c15df010afdd9017ff4653 /src | |
parent | 8493d1ba533df5ac66ce0065993bcae116469a5a (diff) | |
download | apscheduler-8ba12c8f970d0f88f57937559f1c5b1783f257b8.tar.gz |
Documented the Serializer class and removed the unicode methods
Diffstat (limited to 'src')
-rw-r--r-- | src/apscheduler/abc.py | 22 | ||||
-rw-r--r-- | src/apscheduler/serializers/json.py | 6 |
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) |