[ldap_locks, lc_ldap] Ooups, erreur d'index / d'iteration
This commit is contained in:
parent
1b76ba5420
commit
294773ba6e
2 changed files with 11 additions and 7 deletions
|
@ -508,8 +508,8 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
|
||||||
except ldap_locks.LockError:
|
except ldap_locks.LockError:
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
raise EnvironmentError('Aucun %s libre dans la plage [%d, %d]' %
|
raise EnvironmentError('Aucun %s libre dans la plage %s' %
|
||||||
(attr, plage[0], i))
|
(attr, realm))
|
||||||
else:
|
else:
|
||||||
# On extrait seulement les valeurs des id qui nous intêressent dans une liste
|
# On extrait seulement les valeurs des id qui nous intêressent dans une liste
|
||||||
nonfree = [ int(r[1].get(attr)[0]) for r in res if r[1].get(attr) ]
|
nonfree = [ int(r[1].get(attr)[0]) for r in res if r[1].get(attr) ]
|
||||||
|
|
|
@ -172,11 +172,12 @@ class LdapLockHolder:
|
||||||
|
|
||||||
def check(self, Id='default', delai=0):
|
def check(self, Id='default', delai=0):
|
||||||
"""Vérifie que l'on a toujours tous nos locks"""
|
"""Vérifie que l'on a toujours tous nos locks"""
|
||||||
for item, value in self.locks[Id]:
|
for item, values in self.locks[Id].items():
|
||||||
host, pid, begin = self.getlock(item, value)
|
for value in values:
|
||||||
time_left = self.timeout - (time.time() - begin)
|
host, pid, begin = self.getlock(item, value)
|
||||||
if time_left <= delai:
|
time_left = self.timeout - (time.time() - begin)
|
||||||
raise LockExpired("Le lock sur la donnée %r=%r à expiré" % (item, value, time_left))
|
if time_left <= delai:
|
||||||
|
raise LockExpired("Le lock sur la donnée %r=%r à expiré" % (item, value, time_left))
|
||||||
|
|
||||||
def removelock(self, item, value, Id='default', force=False):
|
def removelock(self, item, value, Id='default', force=False):
|
||||||
"""
|
"""
|
||||||
|
@ -207,6 +208,9 @@ class LdapLockHolder:
|
||||||
return host, int(pid), float(begin)
|
return host, int(pid), float(begin)
|
||||||
except ldap.NO_SUCH_OBJECT:
|
except ldap.NO_SUCH_OBJECT:
|
||||||
raise LockNotFound()
|
raise LockNotFound()
|
||||||
|
except ldap.INVALID_DN_SYNTAX:
|
||||||
|
print '%s=%s,%s' % (item, value, LOCKS_DN)
|
||||||
|
raise
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
self.removelock(item, value, Id, force=True)
|
self.removelock(item, value, Id, force=True)
|
||||||
raise LockNotFound()
|
raise LockNotFound()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue