diff --git a/attributs.py b/attributs.py index 45e77b4..47aec64 100644 --- a/attributs.py +++ b/attributs.py @@ -435,7 +435,7 @@ class blacklist(Attr): return self.value['actif'] def terminer(self): - self.value.fin = max(self.value.debut, time.time() - 60) + self.value['fin'] = max(self.value['debut'], time.time() - 60) self.actif = False def __unicode__(self): diff --git a/lc_ldap.py b/lc_ldap.py index 534b7f6..291e88c 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -37,7 +37,7 @@ from Levenshtein import jaro sys.path.append('/usr/scripts/gestion') import config, crans_utils -from attributs import attrify +from attributs import attrify, blacklist from ldap_locks import CransLock uri = 'ldapi:///' #'ldap://ldap.adm.crans.org/' @@ -180,11 +180,10 @@ class lc_ldap(ldap.ldapobject.LDAPObject): uniquement en unicode''' cldif = ldif_to_cldif(uldif, self) #lock = CransLock(self) - for item in ['aid', 'uid', 'chbre', 'mailAlias', 'canonicalAlias', - 'fid', 'cid', 'mid', 'macAddress', 'host', 'hostAlias' ]: - for val in cldif.get(item, []): - pass #lock.add(item, val) - #uldif['historique'] = [ self._hist('Création')] + # for item in ['aid', 'uid', 'chbre', 'mailAlias', 'canonicalAlias', + # 'fid', 'cid', 'mid', 'macAddress', 'host', 'hostAlias' ]: + # for val in cldif.get(item, []): + # lock.add(item, val) ldif = cldif_to_ldif(cldif) modlist = addModlist(ldif) #with lock: @@ -210,9 +209,9 @@ class lc_ldap(ldap.ldapobject.LDAPObject): (attr, plage[0], i)) return i - def _hist(self, msg): - now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M : ') - return unicode(now) + msg + # def _hist(self, msg): + # now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M : ') + # return unicode(now) + msg # ? def reconnect(self, conn=None): @@ -324,10 +323,10 @@ class CransLdapObject(object): return [ unicode(v) for v in self.attrs[attr] ] def __setitem__(self, attr, values): - if not isinstance(values, list): - values = [ values ] - self._modifs[attr] = values - self._modifs[attr] = [ attrify(val, attr, self._modifs, self.conn) for val in values ] + if not isinstance(values, list): + values = [ values ] + self._modifs[attr] = values + self._modifs[attr] = [ attrify(val, attr, self._modifs, self.conn) for val in values ] def search_historique(self, ign_fields=HIST_IGNORE_FIELDS): u"""Récupère l'historique @@ -358,7 +357,7 @@ class CransLdapObject(object): out.append("%s : [%s] %s" % (date, attrs['reqAuthzID'][0], " ; ".join(mod_list))) return out - def blacklist(self, sanction, commentaire, debut=time.time(), fin = '-') + def blacklist(self, sanction, commentaire, debut=time.time(), fin = '-'): u""" Blacklistage de la ou de toutes la machines du propriétaire * debut et fin sont le nombre de secondes depuis epoch @@ -371,7 +370,7 @@ class CransLdapObject(object): debut = time.time() if fin == 'now': fin = time.time() - bl = balcklist(u'%s$s$s$s' % (sanction, commentaire, debut, fin), {}, self.conn, False) + bl = blacklist(u'%s$%s$%s$%s' % (sanction, commentaire, debut, fin), {}, self.conn, False) self._modifs.setdefault('blacklist', []).append(bl)