General A/B testing.
[wolnelektury.git] / src / sortify.py
index 61cb9d8..0278601 100644 (file)
@@ -1,4 +1,6 @@
-# -*- coding: utf-8 -*-
+# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
 import re
 from fnpdjango.utils.text import char_map
 
 import re
 from fnpdjango.utils.text import char_map
 
@@ -6,7 +8,7 @@ from fnpdjango.utils.text import char_map
 # Specifies diacritics order.
 # Default order is zero, max is 9
 char_order = {
 # Specifies diacritics order.
 # Default order is zero, max is 9
 char_order = {
-    u'ż': 1, u'Ż': 1,
+    'ż': 1, 'Ż': 1,
 }
 
 
 }
 
 
@@ -33,12 +35,12 @@ def sortify(value):
 
     """
 
 
     """
 
-    if not isinstance(value, unicode):
-        value = unicode(value, 'utf-8')
+    if not isinstance(value, str):
+        value = str(value, 'utf-8')
 
     # try to replace chars
     value = re.sub('[^a-zA-Z0-9\\s\\-]', replace_char, value)
     value = value.lower()
     value = re.sub(r'[^a-z0-9~]+', ' ', value)
     
 
     # try to replace chars
     value = re.sub('[^a-zA-Z0-9\\s\\-]', replace_char, value)
     value = value.lower()
     value = re.sub(r'[^a-z0-9~]+', ' ', value)
     
-    return value.encode('ascii', 'ignore')
+    return value.encode('ascii', 'ignore').decode('ascii')