Python 3
[wolnelektury.git] / src / sortify.py
index 642a540..941f50f 100644 (file)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 import re
-from fnpdjango.utils.text.slughifi import char_map
+from fnpdjango.utils.text import char_map
 
 
 # Specifies diacritics order.
@@ -12,7 +12,7 @@ char_order = {
 
 def replace_char(m):
     char = m.group()
-    if char_map.has_key(char):
+    if char in char_map:
         order = char_order.get(char, 0)
         return "%s~%d" % (char_map[char], order)
     else:
@@ -33,11 +33,11 @@ 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\\-]{1}', replace_char, value)
+    value = re.sub('[^a-zA-Z0-9\\s\\-]', replace_char, value)
     value = value.lower()
     value = re.sub(r'[^a-z0-9~]+', ' ', value)