rougail/creole/utils.py

27 lines
794 B
Python
Raw Normal View History

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