Jarvis/jarvis/tools/clean_name.py

22 lines
575 B
Python
Raw Normal View History

2024-02-06 12:43:08 +01:00
"""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