[Oops] J'ai oublié de commiter un de mes débugs.
This commit is contained in:
parent
80929daddd
commit
e18e5222b7
5 changed files with 53 additions and 29 deletions
22
lc_ldap.py
22
lc_ldap.py
|
@ -172,7 +172,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
|
|||
:py:class:`CransLdapObject`. On utilise la feature de ``sizelimit`` de
|
||||
``python-ldap``"""
|
||||
if not isinstance(filterstr, unicode):
|
||||
cranslib.deprecated.usage("search ne devrait utiliser que des unicode comme filtre(%r)" % filterstr, level=3)
|
||||
cranslib.deprecated.usage("search ne devrait utiliser que des unicode comme filtre(%r)" % filterstr, level=2)
|
||||
filterstr = filterstr.decode('utf-8')
|
||||
ldap_res = self.search_ext_s(dn, scope, filterstr.encode('utf-8'), sizelimit=sizelimit)
|
||||
ret = []
|
||||
|
@ -314,7 +314,14 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
|
|||
for attribut in attribs:
|
||||
if attribut.unique:
|
||||
self.lockholder.addlock(key, str(attribut))
|
||||
return objets.new_cransldapobject(self, dn, 'rw', uldif)
|
||||
try:
|
||||
return objets.new_cransldapobject(self, dn, 'rw', uldif)
|
||||
except ldap_locks.LockError:
|
||||
for key, values in uldif.iteritems():
|
||||
attribs = [attributs.attrify(val, key, self) for val in values]
|
||||
for attribut in attribs:
|
||||
self.lockholder.removelock(key, str(attribut))
|
||||
raise
|
||||
|
||||
def _find_id(self, attr, plage=None):
|
||||
'''Trouve un id libre. Si une plage est fournie, cherche
|
||||
|
@ -342,8 +349,15 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
|
|||
raise EnvironmentError('Aucun %s libre dans la plage [%d, %d]' %
|
||||
(attr, plage[0], i))
|
||||
else:
|
||||
i = nonfree[-1]+1
|
||||
self.lockholder.addlock(attr, str(i))
|
||||
i = nonfree[-1] + 1
|
||||
while True:
|
||||
try:
|
||||
self.lockholder.addlock(attr, str(i))
|
||||
break
|
||||
except ldap_locks.LockError:
|
||||
i += 1
|
||||
except Exception:
|
||||
raise
|
||||
return i
|
||||
|
||||
def _check_parent(self, objdn):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue