summary refs log tree commit diff
path: root/synapse/util/stringutils.py
diff options
context:
space:
mode:
authorAmber Brown <hawkowl@atleastfornow.net>2018-08-20 23:54:49 +1000
committerGitHub <noreply@github.com>2018-08-20 23:54:49 +1000
commit324525f40ca4df19c43971ca82db0d3478114885 (patch)
tree05e6a1e45e711c9d5d18b7fbf31c79aa03fb0657 /synapse/util/stringutils.py
parentMerge pull request #3719 from matrix-org/erikj/use_cache_fact (diff)
downloadsynapse-324525f40ca4df19c43971ca82db0d3478114885.tar.xz
Port over enough to get some sytests running on Python 3 (#3668)
Diffstat (limited to 'synapse/util/stringutils.py')
-rw-r--r--synapse/util/stringutils.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/synapse/util/stringutils.py b/synapse/util/stringutils.py
index 43d9db67ec..6f318c6a29 100644
--- a/synapse/util/stringutils.py
+++ b/synapse/util/stringutils.py
@@ -16,6 +16,7 @@
 import random
 import string
 
+from six import PY3
 from six.moves import range
 
 _string_with_symbols = (
@@ -34,6 +35,17 @@ def random_string_with_symbols(length):
 
 
 def is_ascii(s):
+
+    if PY3:
+        if isinstance(s, bytes):
+            try:
+                s.decode('ascii').encode('ascii')
+            except UnicodeDecodeError:
+                return False
+            except UnicodeEncodeError:
+                return False
+            return True
+
     try:
         s.encode("ascii")
     except UnicodeEncodeError:
@@ -49,6 +61,9 @@ def to_ascii(s):
 
     If given None then will return None.
     """
+    if PY3:
+        return s
+
     if s is None:
         return None