2019-11-23 08:17:35 +01:00
|
|
|
"""
|
|
|
|
utilitaires créole
|
|
|
|
"""
|
2019-11-26 20:33:24 +01:00
|
|
|
import unicodedata
|
2019-11-23 08:17:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
# définition des classes d'adresse IP existantes
|
|
|
|
def normalize_family(family_name, check_name=True):
|
|
|
|
"""
|
|
|
|
il ne faut pas d'espace, d'accent, de majuscule, de tiré, ...
|
|
|
|
dans le nom des familles
|
|
|
|
"""
|
2019-11-26 20:33:24 +01:00
|
|
|
f = family_name
|
2019-11-23 08:17:35 +01:00
|
|
|
f = f.replace('-', '_')
|
|
|
|
#f = f.replace(u'é', 'e')
|
|
|
|
#f = f.replace(u'è', 'e')
|
|
|
|
nfkd_form = unicodedata.normalize('NFKD', f)
|
|
|
|
f = u"".join([c for c in nfkd_form if not unicodedata.combining(c)])
|
|
|
|
f = f.replace(' ', '_')
|
|
|
|
f = f.lower()
|
2019-11-26 20:33:24 +01:00
|
|
|
if f[0].isnumeric():
|
2019-11-23 08:17:35 +01:00
|
|
|
raise ValueError(u'Le nom de la famille ne doit pas commencer par un chiffre : {0}'.format(f))
|
2019-11-26 20:33:24 +01:00
|
|
|
if check_name and f == 'containers':
|
2019-11-23 08:17:35 +01:00
|
|
|
raise ValueError(u'nom de la famille interdit {0}'.format(f))
|
|
|
|
return f
|
|
|
|
|