From 5213904bc52f408dea82cd129a6cd91a7efbc044 Mon Sep 17 00:00:00 2001 From: glondu Date: Wed, 22 Mar 2006 14:00:58 +0100 Subject: [PATCH] Clarifications. darcs-hash:20060322130058-68412-c46767e4f83b7a7aa4bcceb4936a513f6d93acad.gz --- gestion/ldap_crans.py | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index be4425fd..8824257b 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -442,23 +442,23 @@ class crans_ldap: def services_to_restart(self, new=None, args=[], start=0): """ start indique la date (en secondes depuis epoch) à partir du - moment où cette action sera effectué + moment où cette action sera effectuée. - Si new = None retourne la liste des services à redémarrer + Si new = None retourne la liste des services à redémarrer. - Si new est fourni mais ne commence pas par '-', on ajoute + Si new est fourni, mais ne commence pas par '-', on ajoute le service à la liste avec les arguments args (args doit être une liste). Si new commence par '-', on supprime le service si son start - est dans le futur + est dans le futur. Si new commence par '--', on supprime le service de condition. """ if new: new = preattr(new)[1] # Quels services sont déjà à redémarrer ? - serv = {} # { service: [ arguments ] } + serv = {} # { service: [ arguments ] } serv_dates = {} # { service: [ dates de restart ] } services = [] for s in self.conn.search_s(self.base_services, 1, 'objectClass=service'): @@ -474,10 +474,10 @@ class crans_ldap: if new[0] == '-': if new[1] == '-': # Double -- on enlève quelque soit la date - remove_dn = 'cn=%s,%s' % ( new[2:], self.base_services ) + remove_dn = 'cn=%s,%s' % (new[2:], self.base_services) else: # On enlève uniquement si la date est passée - remove_dn = 'cn=%s,%s' % ( new[1:], self.base_services ) + remove_dn = 'cn=%s,%s' % (new[1:], self.base_services) if not serv.has_key(new[1:]): # Existe pas => rien à faire return @@ -496,12 +496,12 @@ class crans_ldap: # Si n'existe pas => Erreur mais le résultat est là. return - serv_dn = 'cn=%s,%s' % ( new, self.base_services ) + serv_dn = 'cn=%s,%s' % (new, self.base_services) - # Petite fonction à appliquer aux arguments - if type(args) == str: args = [ args ] + # Conversion avant stockage dans la base + if type(args) == str: args = [args] args = map(lambda x:preattr(x)[1], args) - if type(start) == int: start = [ start ] + if type(start) == int: start = [start] start = map(lambda x:preattr(x)[1], start) if new in serv.keys(): @@ -513,7 +513,8 @@ class crans_ldap: if arg not in serv[new]: new_args.append(arg) if new_args: - modlist += ldap.modlist.modifyModlist({ 'args': serv[new]}, { 'args': serv[new] + new_args }) + modlist += ldap.modlist.modifyModlist({'args': serv[new]}, + {'args': serv[new] + new_args}) new_date = [] # Nouvelle date ? @@ -521,7 +522,8 @@ class crans_ldap: if date not in serv_dates[new]: new_date.append(date) if new_date: - modlist += ldap.modlist.modifyModlist({'start': serv_dates[new]}, { 'start': serv_dates[new] + new_date }) + modlist += ldap.modlist.modifyModlist({'start': serv_dates[new]}, + {'start': serv_dates[new] + new_date}) if modlist: try: @@ -533,9 +535,9 @@ class crans_ldap: else: # Entrée non présente -> ajout modlist = ldap.modlist.addModlist({ 'objectClass': 'service', - 'cn': new, - 'args': args, - 'start': start } ) + 'cn': new, + 'args': args, + 'start': start }) try: self.conn.add_s(serv_dn, modlist) except ldap.ALREADY_EXISTS: