Clarifications.

darcs-hash:20060321224906-68412-bad88d36bd96b6118a7939046d1e83276c68fa72.gz
This commit is contained in:
glondu 2006-03-21 23:49:06 +01:00
parent c158276928
commit 9f3295a4e0

View file

@ -44,10 +44,11 @@ class base_reconfigure:
'blacklist_autodisc_p2p': [ 'sila-blacklist_autodisc_p2p', 'komaz-blacklist'] 'blacklist_autodisc_p2p': [ 'sila-blacklist_autodisc_p2p', 'komaz-blacklist']
} }
def __init__(self, to_do=[]): def __init__(self, to_do=None):
if not to_do: if not to_do:
if debug: print 'Lecture services à redémarrer dans la base LDAP' if debug:
auto = 1 print 'Lecture des services à redémarrer dans la base LDAP...'
auto = True
to_do = {} to_do = {}
# Création de la liste de ce qu'il y a à faire # Création de la liste de ce qu'il y a à faire
for serv in db.services_to_restart(): for serv in db.services_to_restart():
@ -66,29 +67,32 @@ class base_reconfigure:
to_do[serv.nom] = serv.args to_do[serv.nom] = serv.args
break break
else: else:
auto = 0 auto = False
if debug: print 'Services à redémarrer imposés (non lecture de la base LDAP)' if debug:
print 'Services à redémarrer imposés (non lecture de la base LDAP)'
for serv, args in to_do.items(): for serv, args in to_do.items():
# Au cas ou le service porte sur plusieurs machines # Au cas où le service porte sur plusieurs machines
service = serv.replace('%s-'%hostname, '') service = serv.replace('%s-' % hostname, '')
if hasattr(self, service): if hasattr(self, service):
# Le service est à reconfigurer sur cette machine # Le service est à reconfigurer sur cette machine
db.services_to_restart('-%s' % serv) db.services_to_restart('-%s' % serv)
try: try:
m = getattr(self, service) m = getattr(self, service)
if len(getargspec(m)[0])>1: if len(getargspec(m)[0]) > 1:
m(args) m(args)
else: else:
m() m()
except: except:
if auto: db.services_to_restart(serv, args) if auto:
sys.stderr.write('%s :'%serv) db.services_to_restart(serv, args)
sys.stderr.write('%s :' % serv)
import traceback import traceback
traceback.print_exc() traceback.print_exc()
else: else:
# Le service n'existe pas # Le service n'existe pas
if debug: print "Le service %s n'est pas disponible sur %s" % (service, hostname) if debug:
print "Le service %s n'est pas disponible sur %s" % (service, hostname)
if debug: if debug:
reste = db.services_to_restart() reste = db.services_to_restart()
@ -137,8 +141,10 @@ class rouge(base_reconfigure):
self._do(ML_ens(mails)) self._do(ML_ens(mails))
def mail_modif(self, trucs): def mail_modif(self, trucs):
""" trucs est une liste de recherches à effectuer dans la base """
l'affichage des résultats formera le corps du mail """ trucs est une liste de recherches à effectuer dans la base
l'affichage des résultats formera le corps du mail
"""
from supervison import mail from supervison import mail
self._do(mail(trucs)) self._do(mail(trucs))
@ -263,7 +269,7 @@ if __name__ == '__main__':
# Ajout aussi des arguments spécifiques à la machine # Ajout aussi des arguments spécifiques à la machine
for nom in dir(classe): for nom in dir(classe):
if nom[0] != '_': if nom[0] != '_':
if len(getargspec(getattr(classe,nom))[0])>1: if len(getargspec(getattr(classe, nom))[0]) > 1:
nom += '=' nom += '='
args_autorises.append(nom) args_autorises.append(nom)
@ -299,7 +305,7 @@ if __name__ == '__main__':
elif opt == '--reconnect': elif opt == '--reconnect':
# Personnes à reconnecter # Personnes à reconnecter
print 'Recheche personnes en fin de sanction.' print 'Recherche des personnes en fin de sanction...'
hier = strftime('%d/%m/%Y %H:%M'.split()[0], localtime(time() - 60*60*24)) hier = strftime('%d/%m/%Y %H:%M'.split()[0], localtime(time() - 60*60*24))
c = db.search('blacklist=*,%s*' % hier) c = db.search('blacklist=*,%s*' % hier)
services = [] services = []
@ -327,10 +333,11 @@ if __name__ == '__main__':
sys.exit(0) sys.exit(0)
elif opt == '-h' or opt == '--help': elif opt == '-h' or opt == '--help':
print __doc__ % { 'prog': sys.argv[0].split('/')[-1], 'options': '--'+'\n\t--'.join(args_autorises) } print __doc__ % { 'prog': sys.argv[0].split('/')[-1],
'options': '--' + '\n\t--'.join(args_autorises) }
sys.exit(0) sys.exit(0)
elif len(opt)>2 and opt[:2] == '--': elif len(opt) > 2 and opt[:2] == '--':
to_do[opt[2:]] = val.split('&') to_do[opt[2:]] = val.split('&')