Search by unicode

This commit is contained in:
Valentin Samir 2013-07-02 14:42:59 +02:00
parent e18e5222b7
commit 9540bc572c
4 changed files with 15 additions and 16 deletions

View file

@ -238,7 +238,7 @@ class Attr(object):
if unicode(self) in liste_exclue:
return
if self.unique:
res = self.conn.search('%s=%s' % (attr, str(self)))
res = self.conn.search(u'%s=%s' % (attr, str(self)))
if res:
raise UniquenessError("%s déjà existant" % attr, [r.dn for r in res])
@ -467,7 +467,7 @@ class mail(Attr):
if res:
raise ValueError("Le mail %s est déjà pris." % (str(self)))
else:
check = self.conn.search("mail=%s" % mail)
check = self.conn.search(u'mail=%s' % mail)
if len(check) >= 1:
raise ValueError("Le mail %s est déjà pris." % (str(self)))
@ -639,7 +639,7 @@ class host(dnsAttr):
if str(self) in liste_exclue:
return
if attr in ["host", "hostAlias"]:
res = self.conn.search('(|(host=%s)(hostAlias=%s))' % ((str(self),)*2))
res = self.conn.search(u'(|(host=%s)(hostAlias=%s))' % ((str(self),)*2))
if res:
raise ValueError("Hôte déjà existant", [r.dn for r in res])
@ -749,7 +749,6 @@ class rid(Attr):
continue
else:
continue
self.value = rid
def __unicode__(self):
@ -930,7 +929,7 @@ class responsable(Attr):
return self._value
else:
try:
res = self.conn.search('aid=%s' % self.__value)[0]
res = self.conn.search(u'aid=%s' % self.__value)[0]
except IndexError:
raise ValueError("get_respo: L'adherent %s n'existe pas ou plus" % (self.__value))
self._value = res
@ -966,7 +965,7 @@ class imprimeurClub(Attr):
return self._value
else:
try:
res = self.conn.search('aid=%s' % int(self.__value))[0]
res = self.conn.search(u'aid=%s' % int(self.__value))[0]
except IndexError:
raise ValueError("get_imprimeur: L'adhérent aid=%r n'existe pas ou plus" % self.__value)
self._value = res

View file

@ -113,7 +113,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
raise ValueError("Même root doit préciser qui il est pour se connecter à la base LDAP.")
self.current_login = user
else:
current_user = self.search("uid=%s" % user)
current_user = self.search(u'uid=%s' % user)
if len(current_user) != 1:
raise ValueError("L'utilisateur %s n'est pas présent dans la base en *1* exemplaire." % user)
else:
@ -233,7 +233,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
if login is None:
login = self.current_login
#adm, serveurs, bornes, wifi, adherents, gratuit ou personnel-ens"""
owner = self.search('objectClass=*', dn=parent, scope=0)[0]
owner = self.search(u'objectClass=*', dn=parent, scope=0)[0]
if realm in ["adm", "serveurs", "serveurs-v6", "adm-v6"]:
uldif['objectClass'] = [u'machineCrans']

View file

@ -673,13 +673,13 @@ class adherent(proprio):
def clubs(self):
"""Renvoie la liste des clubs dont l'adherent est responsable"""
if self._clubs is None:
self._clubs = self.conn.search('responsable=%s' % self['aid'][0], scope = 1, mode=self.mode)
self._clubs = self.conn.search(u'responsable=%s' % self['aid'][0], scope = 1, mode=self.mode)
return self._clubs
def imprimeur_clubs(self):
"""Renvoie la liste des clubs dont l'adherent est imprimeur"""
if self._imprimeur_clubs is None:
self._imprimeur_clubs = self.conn.search('imprimeurClub=%s' % self['aid'][0], scope = 1, mode=self.mode)
self._imprimeur_clubs = self.conn.search(u'imprimeurClub=%s' % self['aid'][0], scope = 1, mode=self.mode)
return self._imprimeur_clubs
def compte(self, login = None, uidNumber=0, hash_pass = '', shell=config.login_shell):
@ -721,14 +721,14 @@ class adherent(proprio):
self['userPassword'] = [unicode(hash_pass)]
if uidNumber:
if self.conn.search('(uidNumber=%s)' % uidNumber):
if self.conn.search(u'(uidNumber=%s)' % uidNumber):
raise ValueError(u'uidNumber pris')
else:
pool_uid = range(1001, 9999)
random.shuffle(pool_uid)
while len(pool_uid) > 0:
uidNumber = pool_uid.pop() # On choisit un uid
if not self.conn.search('(uidNumber=%s)' % uidNumber):
if not self.conn.search(u'(uidNumber=%s)' % uidNumber):
break
if not len(pool_uid):
raise ValueError("Plus d'uid disponibles !")

View file

@ -131,7 +131,7 @@ def tests_machines(parent_dn, realm_list, ipsec=False):
print OK
anim("Suppression d'une machines %s" % realm)
try:
machine = conn.search('mid=%s' % machine['mid'][0], mode='rw')[0]
machine = conn.search(u'mid=%s' % machine['mid'][0], mode='rw')[0]
machine.delete()
del(machine)
except Exception as error:
@ -234,7 +234,7 @@ else:
anim("Suppression d'un club")
try:
club = conn.search('cid=%s' % club['cid'][0], mode='rw')[0]
club = conn.search(u'cid=%s' % club['cid'][0], mode='rw')[0]
club.delete()
except Exception:
print ERREUR
@ -252,7 +252,7 @@ else:
if adherent:
anim("Suppression d'un adherent")
try:
adherent = conn.search('aid=%s' % adherent['aid'][0], mode='rw')[0]
adherent = conn.search(u'aid=%s' % adherent['aid'][0], mode='rw')[0]
adherent.delete()
except Exception:
print ERREUR
@ -274,7 +274,7 @@ except Exception as error:
else:
print OK
try:
facture = conn.search('fid=%s' % facture['fid'][0], mode='rw')[0]
facture = conn.search(u'fid=%s' % facture['fid'][0], mode='rw')[0]
facture.delete()
except Exception:
print ERREUR