Browse Source

[CI] Fixes PyPy3 build

Ask Solem 9 years ago
parent
commit
540d1f5995
3 changed files with 19 additions and 2 deletions
  1. 18 1
      celery/backends/riak.py
  2. 0 1
      requirements/test-ci-base.txt
  3. 1 0
      requirements/test-ci-default.txt

+ 18 - 1
celery/backends/riak.py

@@ -8,6 +8,8 @@
 """
 from __future__ import absolute_import
 
+import sys
+
 try:
     import riak
     from riak import RiakClient
@@ -25,10 +27,25 @@ E_BUCKET_NAME = """\
 Riak bucket names must be composed of ASCII characters only, not: {0!r}\
 """
 
+if sys.version_info[0] == 3:
+
+    def to_bytes(s):
+        return s.encode() if isinstance(s, str) else s
+
+
+    def str_decode(s, encoding):
+        return to_bytes(s).decode(encoding)
+
+else:
+
+    def str_decode(s, encoding):
+        return s.decode("ascii")
+
+
 
 def is_ascii(s):
     try:
-        s.decode('ascii')
+        str_decode(s, 'ascii')
     except UnicodeDecodeError:
         return False
     return True

+ 0 - 1
requirements/test-ci-base.txt

@@ -2,6 +2,5 @@ coverage>=3.0
 coveralls
 -r extras/redis.txt
 -r extras/mongodb.txt
--r extras/riak.txt
 -r extras/sqlalchemy.txt
 -r dev.txt

+ 1 - 0
requirements/test-ci-default.txt

@@ -1,2 +1,3 @@
 -r test-ci-base.txt
 -r extras/auth.txt
+-r extras/riak.txt