Search by unicode
This commit is contained in:
parent
e18e5222b7
commit
9540bc572c
4 changed files with 15 additions and 16 deletions
11
attributs.py
11
attributs.py
|
@ -238,7 +238,7 @@ class Attr(object):
|
||||||
if unicode(self) in liste_exclue:
|
if unicode(self) in liste_exclue:
|
||||||
return
|
return
|
||||||
if self.unique:
|
if self.unique:
|
||||||
res = self.conn.search('%s=%s' % (attr, str(self)))
|
res = self.conn.search(u'%s=%s' % (attr, str(self)))
|
||||||
if res:
|
if res:
|
||||||
raise UniquenessError("%s déjà existant" % attr, [r.dn for r in res])
|
raise UniquenessError("%s déjà existant" % attr, [r.dn for r in res])
|
||||||
|
|
||||||
|
@ -467,7 +467,7 @@ class mail(Attr):
|
||||||
if res:
|
if res:
|
||||||
raise ValueError("Le mail %s est déjà pris." % (str(self)))
|
raise ValueError("Le mail %s est déjà pris." % (str(self)))
|
||||||
else:
|
else:
|
||||||
check = self.conn.search("mail=%s" % mail)
|
check = self.conn.search(u'mail=%s' % mail)
|
||||||
if len(check) >= 1:
|
if len(check) >= 1:
|
||||||
raise ValueError("Le mail %s est déjà pris." % (str(self)))
|
raise ValueError("Le mail %s est déjà pris." % (str(self)))
|
||||||
|
|
||||||
|
@ -639,7 +639,7 @@ class host(dnsAttr):
|
||||||
if str(self) in liste_exclue:
|
if str(self) in liste_exclue:
|
||||||
return
|
return
|
||||||
if attr in ["host", "hostAlias"]:
|
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:
|
if res:
|
||||||
raise ValueError("Hôte déjà existant", [r.dn for r in res])
|
raise ValueError("Hôte déjà existant", [r.dn for r in res])
|
||||||
|
|
||||||
|
@ -749,7 +749,6 @@ class rid(Attr):
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
self.value = rid
|
self.value = rid
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
|
@ -930,7 +929,7 @@ class responsable(Attr):
|
||||||
return self._value
|
return self._value
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
res = self.conn.search('aid=%s' % self.__value)[0]
|
res = self.conn.search(u'aid=%s' % self.__value)[0]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
raise ValueError("get_respo: L'adherent %s n'existe pas ou plus" % (self.__value))
|
raise ValueError("get_respo: L'adherent %s n'existe pas ou plus" % (self.__value))
|
||||||
self._value = res
|
self._value = res
|
||||||
|
@ -966,7 +965,7 @@ class imprimeurClub(Attr):
|
||||||
return self._value
|
return self._value
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
res = self.conn.search('aid=%s' % int(self.__value))[0]
|
res = self.conn.search(u'aid=%s' % int(self.__value))[0]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
raise ValueError("get_imprimeur: L'adhérent aid=%r n'existe pas ou plus" % self.__value)
|
raise ValueError("get_imprimeur: L'adhérent aid=%r n'existe pas ou plus" % self.__value)
|
||||||
self._value = res
|
self._value = res
|
||||||
|
|
|
@ -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.")
|
raise ValueError("Même root doit préciser qui il est pour se connecter à la base LDAP.")
|
||||||
self.current_login = user
|
self.current_login = user
|
||||||
else:
|
else:
|
||||||
current_user = self.search("uid=%s" % user)
|
current_user = self.search(u'uid=%s' % user)
|
||||||
if len(current_user) != 1:
|
if len(current_user) != 1:
|
||||||
raise ValueError("L'utilisateur %s n'est pas présent dans la base en *1* exemplaire." % user)
|
raise ValueError("L'utilisateur %s n'est pas présent dans la base en *1* exemplaire." % user)
|
||||||
else:
|
else:
|
||||||
|
@ -233,7 +233,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
|
||||||
if login is None:
|
if login is None:
|
||||||
login = self.current_login
|
login = self.current_login
|
||||||
#adm, serveurs, bornes, wifi, adherents, gratuit ou personnel-ens"""
|
#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"]:
|
if realm in ["adm", "serveurs", "serveurs-v6", "adm-v6"]:
|
||||||
uldif['objectClass'] = [u'machineCrans']
|
uldif['objectClass'] = [u'machineCrans']
|
||||||
|
|
|
@ -673,13 +673,13 @@ class adherent(proprio):
|
||||||
def clubs(self):
|
def clubs(self):
|
||||||
"""Renvoie la liste des clubs dont l'adherent est responsable"""
|
"""Renvoie la liste des clubs dont l'adherent est responsable"""
|
||||||
if self._clubs is None:
|
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
|
return self._clubs
|
||||||
|
|
||||||
def imprimeur_clubs(self):
|
def imprimeur_clubs(self):
|
||||||
"""Renvoie la liste des clubs dont l'adherent est imprimeur"""
|
"""Renvoie la liste des clubs dont l'adherent est imprimeur"""
|
||||||
if self._imprimeur_clubs is None:
|
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
|
return self._imprimeur_clubs
|
||||||
|
|
||||||
def compte(self, login = None, uidNumber=0, hash_pass = '', shell=config.login_shell):
|
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)]
|
self['userPassword'] = [unicode(hash_pass)]
|
||||||
|
|
||||||
if uidNumber:
|
if uidNumber:
|
||||||
if self.conn.search('(uidNumber=%s)' % uidNumber):
|
if self.conn.search(u'(uidNumber=%s)' % uidNumber):
|
||||||
raise ValueError(u'uidNumber pris')
|
raise ValueError(u'uidNumber pris')
|
||||||
else:
|
else:
|
||||||
pool_uid = range(1001, 9999)
|
pool_uid = range(1001, 9999)
|
||||||
random.shuffle(pool_uid)
|
random.shuffle(pool_uid)
|
||||||
while len(pool_uid) > 0:
|
while len(pool_uid) > 0:
|
||||||
uidNumber = pool_uid.pop() # On choisit un uid
|
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
|
break
|
||||||
if not len(pool_uid):
|
if not len(pool_uid):
|
||||||
raise ValueError("Plus d'uid disponibles !")
|
raise ValueError("Plus d'uid disponibles !")
|
||||||
|
|
8
test.py
8
test.py
|
@ -131,7 +131,7 @@ def tests_machines(parent_dn, realm_list, ipsec=False):
|
||||||
print OK
|
print OK
|
||||||
anim("Suppression d'une machines %s" % realm)
|
anim("Suppression d'une machines %s" % realm)
|
||||||
try:
|
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()
|
machine.delete()
|
||||||
del(machine)
|
del(machine)
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
|
@ -234,7 +234,7 @@ else:
|
||||||
|
|
||||||
anim("Suppression d'un club")
|
anim("Suppression d'un club")
|
||||||
try:
|
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()
|
club.delete()
|
||||||
except Exception:
|
except Exception:
|
||||||
print ERREUR
|
print ERREUR
|
||||||
|
@ -252,7 +252,7 @@ else:
|
||||||
if adherent:
|
if adherent:
|
||||||
anim("Suppression d'un adherent")
|
anim("Suppression d'un adherent")
|
||||||
try:
|
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()
|
adherent.delete()
|
||||||
except Exception:
|
except Exception:
|
||||||
print ERREUR
|
print ERREUR
|
||||||
|
@ -274,7 +274,7 @@ except Exception as error:
|
||||||
else:
|
else:
|
||||||
print OK
|
print OK
|
||||||
try:
|
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()
|
facture.delete()
|
||||||
except Exception:
|
except Exception:
|
||||||
print ERREUR
|
print ERREUR
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue