summarylogtreecommitdiffstats
path: root/fix_python_future_builtins_object.patch
blob: 8013e1f5df8ea53f423cad2b627fd40e9c26d82a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
diff --git a/pysearpc/client.py b/pysearpc/client.py
index 20e5535..0dc8b5a 100644
--- a/pysearpc/client.py
+++ b/pysearpc/client.py
@@ -1,4 +1,4 @@
-from builtins import object
+from .utils import object
 import json
 from .common import SearpcError
 
diff --git a/pysearpc/named_pipe.py b/pysearpc/named_pipe.py
index a0ca619..113097c 100644
--- a/pysearpc/named_pipe.py
+++ b/pysearpc/named_pipe.py
@@ -4,7 +4,7 @@ RPC client/server implementation based on named pipe transport.
 
 from future import standard_library
 standard_library.install_aliases()
-from builtins import object
+from .utils import object
 import json
 import logging
 import os
diff --git a/pysearpc/server.py b/pysearpc/server.py
index a7ec7be..9bf7a3a 100644
--- a/pysearpc/server.py
+++ b/pysearpc/server.py
@@ -1,5 +1,5 @@
 from builtins import str
-from builtins import object
+from .utils import object
 import json
 
 from .common import SearpcError
diff --git a/pysearpc/test_pysearpc.py b/pysearpc/test_pysearpc.py
index a9c6f8b..41cfb3b 100755
--- a/pysearpc/test_pysearpc.py
+++ b/pysearpc/test_pysearpc.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 #coding: UTF-8
 
-from builtins import object
+from .utils import object
 import json
 import logging
 import os
diff --git a/pysearpc/transport.py b/pysearpc/transport.py
index 3c6e821..8fc630a 100644
--- a/pysearpc/transport.py
+++ b/pysearpc/transport.py
@@ -1,5 +1,5 @@
 
-from builtins import object
+from .utils import object
 class SearpcTransport(object):
     """
     A transport is repsonsible to send the serialized request to the
diff --git a/pysearpc/utils.py b/pysearpc/utils.py
index 2aeda93..8c3ddad 100644
--- a/pysearpc/utils.py
+++ b/pysearpc/utils.py
@@ -1,9 +1,30 @@
-from builtins import bytes
+from builtins import bytes, object
 import os
 import socket
 
 from pysearpc.errors import NetworkError
 
+class object(object):
+
+    def __nonzero__(self):
+        """
+        Fix issue:
+        https://github.com/PythonCharmers/python-future/issues/282
+        """
+        try:
+            return type(self).__bool__(self)
+        except AttributeError:
+            pass
+
+        try:
+            return type(self).__len__(self)
+        except AttributeError:
+            pass
+
+        # object has no __nonzero__ method
+        return True
+
+
 def recvall(fd, total):
     remain = total
     data = bytearray()