From 3ebe258ba1b5cd7e24b5d2af4182cdb64fb12fad Mon Sep 17 00:00:00 2001 From: Nicolas Dandrimont Date: Sun, 12 Sep 2010 15:26:20 +0200 Subject: [PATCH] [gest_crans] Les noms avec des espaces sont nos amis darcs-hash:20100912132620-ffbb2-71460f121d2bb1e4d42f0f275ecf629b1ec5642e.gz --- gestion/ldap_crans.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 8b302644..94cd0627 100644 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -139,10 +139,13 @@ def decode(s): else: return s.decode('utf-8', 'ignore') # On ignore les erreurs -def strip_accents(a): +def strip_accents(a, sois_un_porc_avec_les_espaces = True): """ Supression des accents de la chaîne fournie """ res = normalize('NFKD', decode(a)).encode('ASCII', 'ignore') - return res.replace(' ', '_').replace("'", '') + if sois_un_porc_avec_les_espaces: + return res.replace(' ', '_').replace("'", '') + else: + return res def mailexist(mail): """ @@ -1942,7 +1945,7 @@ class Adherent(BaseProprietaire): l, new = preattr(new) new = new.capitalize() - for c in strip_accents(new[:]): + for c in strip_accents(new[:], False): if c not in (string.letters + '- '): raise ValueError(u"Seuls les caractères alphabétiques, l'espace et le - sont permis dans %s." % champ) if l<2: @@ -1952,7 +1955,7 @@ class Adherent(BaseProprietaire): self._set(champ, [new]) if self._data.has_key('gecos'): - gecos = '%s %s' % tuple(map(lambda x: strip_accents(x.capitalize()), (self.prenom(), self.nom()))) + gecos = '%s %s' % tuple(map(lambda x: strip_accents(x.capitalize(), False), (self.prenom(), self.nom()))) self._data['gecos'] = [ preattr(gecos)[1] + ',,,' ] return new