feat: make PickleCoder compatible with backends

This commit is contained in:
Ivan Moiseev
2022-10-22 21:06:38 +04:00
parent 68ef94f2db
commit e842d6408e

View File

@@ -39,7 +39,7 @@ def object_hook(obj: Any) -> Any:
class Coder: class Coder:
@classmethod @classmethod
def encode(cls, value: Any) -> Union[str, bytes]: def encode(cls, value: Any) -> str:
raise NotImplementedError raise NotImplementedError
@classmethod @classmethod
@@ -59,9 +59,9 @@ class JsonCoder(Coder):
class PickleCoder(Coder): class PickleCoder(Coder):
@classmethod @classmethod
def encode(cls, value: Any) -> Union[str, bytes]: def encode(cls, value: Any) -> str:
return pickle.dumps(value) return str(pickle.dumps(value))
@classmethod @classmethod
def decode(cls, value: Any) -> Any: def decode(cls, value: Any) -> Any:
return pickle.loads(value) # nosec:B403,B301 return pickle.loads(bytes(value)) # nosec:B403,B301