Jarvis/jarvis/tools/clean_name.py

22 lines
575 B
Python

"""Outils et fonctions utiles pour la gestion des personnes"""
import unicodedata
TRANSTABLE = str.maketrans(
dict((ord(char), None) for char in " \"/-.,;+_*:=~''`\\()!$")
)
def clean_name(name):
"""Nettoie les (pré)noms en supprimant les caractère accentués, les espaces, … permettant des
recherches plus faciles.
"""
tmp_str = name.strip().upper().translate(TRANSTABLE)
compressed_name = "".join(
c
for c in unicodedata.normalize("NFKD", tmp_str)
if unicodedata.category(c) != "Mn"
)
return compressed_name