diff options
Diffstat (limited to 'kafka/protocol/pickle.py')
-rw-r--r-- | kafka/protocol/pickle.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/kafka/protocol/pickle.py b/kafka/protocol/pickle.py index b7e5264..d6e5fa7 100644 --- a/kafka/protocol/pickle.py +++ b/kafka/protocol/pickle.py @@ -9,9 +9,15 @@ import types def _pickle_method(method): - func_name = method.im_func.__name__ - obj = method.im_self - cls = method.im_class + try: + func_name = method.__func__.__name__ + obj = method.__self__ + cls = method.__self__.__class__ + except AttributeError: + func_name = method.im_func.__name__ + obj = method.im_self + cls = method.im_class + return _unpickle_method, (func_name, obj, cls) |