summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Win <jpaulodit@hotmail.com>2016-07-26 08:06:24 -0700
committerDana Powers <dana.powers@gmail.com>2016-07-26 08:06:24 -0700
commit0d161f72dd2ac610e625b6c197d1ef6f3af104e8 (patch)
treefb607be6e34865c6023e6663afb915c0b930b7d7
parent0776e5a97d80f0d28521d5d3f3bb2fe18179c9a4 (diff)
downloadkafka-python-0d161f72dd2ac610e625b6c197d1ef6f3af104e8.tar.gz
change pickle_method to use python3 special attributes (#777)
-rw-r--r--kafka/protocol/pickle.py12
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)