From 6e184c8dcb79fb6899f77d99eeed17c2d239e4ca Mon Sep 17 00:00:00 2001 From: vegeta1k95 <32207817+vegeta1k95@users.noreply.github.com> Date: Sun, 8 Apr 2018 19:17:21 +0300 Subject: [PATCH] Replace __reduce__ serialization by __getstate__ --- telethon/tl/tlobject.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/telethon/tl/tlobject.py b/telethon/tl/tlobject.py index ef980635..22b219a5 100644 --- a/telethon/tl/tlobject.py +++ b/telethon/tl/tlobject.py @@ -4,23 +4,25 @@ from threading import Event class TLObject: - def __init__(self, rpc_error=None, result=None, content_related=False): - self.rpc_error = rpc_error - self.result = result - - # These should be overrode. - # Only requests/functions/queries are content related. - self.content_related = content_related + def __init__(self): + self.rpc_error = None + self.result = None + # These should be overrode + self.content_related = False # Only requests/functions/queries are self._set_event() def _set_event(self): self.confirm_received = Event() - def __reduce__(self): - return (type(self), (self.rpc_error, - self.result, - self.content_related)) + def __getstate__(self): + new_dct = dict(self.__dict__) + del new_dct["confirm_received"] + return new_dct + + def __setstate__(self, state): + self.__dict__ = state + self._set_event() # These should not be overrode @staticmethod