mirror of
https://gitlab.crans.org/bde/nk20
synced 2024-11-26 18:37:12 +00:00
Preserve dashes in Alias normalisation
This commit is contained in:
parent
b454ad8dad
commit
ca7f4791ed
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user