fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'zawadzki/new-design'
[wolnelektury.git]
/
src
/
sortify.py
diff --git
a/src/sortify.py
b/src/sortify.py
index
642a540
..
0278601
100644
(file)
--- a/
src/sortify.py
+++ b/
src/sortify.py
@@
-1,18
+1,20
@@
-# -*- 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
import re
-from fnpdjango.utils.text
.slughifi
import char_map
+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,
}
def replace_char(m):
char = m.group()
}
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:
order = char_order.get(char, 0)
return "%s~%d" % (char_map[char], order)
else:
@@
-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
# 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)
value = value.lower()
value = re.sub(r'[^a-z0-9~]+', ' ', value)
- return value.encode('ascii', 'ignore')
+ return value.encode('ascii', 'ignore')
.decode('ascii')