Skip to content
Snippets Groups Projects
Commit ca7f4791 authored by ynerant's avatar ynerant
Browse files

Preserve dashes in Alias normalisation

parent b454ad8d
No related branches found
No related tags found
1 merge request!104Beta
...@@ -247,10 +247,10 @@ class Alias(models.Model): ...@@ -247,10 +247,10 @@ class Alias(models.Model):
Normalizes a string: removes most diacritics, does casefolding and ignore non-ASCII characters Normalizes a string: removes most diacritics, does casefolding and ignore non-ASCII characters
""" """
return ''.join( return ''.join(
char for char in unicodedata.normalize('NFKD', string.casefold().replace('æ', 'ae') char for char in unicodedata.normalize('NFKD', string.casefold().replace('æ', 'ae').replace('œ', 'oe'))
.replace('œ', 'oe').replace('-', '_'))
if all(not unicodedata.category(char).startswith(cat) if all(not unicodedata.category(char).startswith(cat)
for cat in {'M', 'P', 'Z', 'C'})).casefold().encode('ascii', 'ignore').decode('ascii') for cat in {'M', 'Pc', 'Pe', 'Pf', 'Pi', 'Po', 'Ps', 'Z', 'C'}))\
.casefold().encode('ascii', 'ignore').decode('ascii')
def clean(self): def clean(self):
normalized_name = self.normalize(self.name) normalized_name = self.normalize(self.name)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment