""" utilitaires créole """ import unicodedata from .i18n import _ def normalize_family(family_name: str, check_name: bool=True, allow_dot: bool=False) -> str: """replace space, accent, uppercase, ... by valid character """ family_name = family_name.replace('-', '_') if not allow_dot: family_name = family_name.replace('.', '_') family_name = family_name.replace(' ', '_') nfkd_form = unicodedata.normalize('NFKD', family_name) family_name = ''.join([c for c in nfkd_form if not unicodedata.combining(c)]) family_name = family_name.lower() if check_name and family_name == 'containers': raise ValueError(_(f'"{family_name}" is a forbidden family name')) return family_name