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']
}
def __init__(self, to_do=[]):
def __init__(self, to_do=None):
if not to_do:
if debug: print 'Lecture services à redémarrer dans la base LDAP'
auto = 1
if debug:
print 'Lecture des services à redémarrer dans la base LDAP...'
auto = True
to_do = {}
# Création de la liste de ce qu'il y a à faire
for serv in db.services_to_restart():
@ -66,29 +67,32 @@ class base_reconfigure:
to_do[serv.nom] = serv.args
break
else:
auto = 0
if debug: print 'Services à redémarrer imposés (non lecture de la base LDAP)'
auto = False
if debug:
print 'Services à redémarrer imposés (non lecture de la base LDAP)'
for serv, args in to_do.items():
# Au cas ou le service porte sur plusieurs machines
service = serv.replace('%s-'%hostname, '')
# Au cas où le service porte sur plusieurs machines
service = serv.replace('%s-' % hostname, '')
if hasattr(self, service):
# Le service est à reconfigurer sur cette machine
db.services_to_restart('-%s' % serv)
try:
m = getattr(self, service)
if len(getargspec(m)[0])>1:
if len(getargspec(m)[0]) > 1:
m(args)
else:
m()
except:
if auto: db.services_to_restart(serv, args)
sys.stderr.write('%s :'%serv)
if auto:
db.services_to_restart(serv, args)
sys.stderr.write('%s :' % serv)
import traceback
traceback.print_exc()
else:
# 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:
reste = db.services_to_restart()
@ -137,8 +141,10 @@ class rouge(base_reconfigure):
self._do(ML_ens(mails))
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
self._do(mail(trucs))
@ -263,7 +269,7 @@ if __name__ == '__main__':
# Ajout aussi des arguments spécifiques à la machine
for nom in dir(classe):
if nom[0] != '_':
if len(getargspec(getattr(classe,nom))[0])>1:
if len(getargspec(getattr(classe, nom))[0]) > 1:
nom += '='
args_autorises.append(nom)
@ -299,7 +305,7 @@ if __name__ == '__main__':
elif opt == '--reconnect':
# 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))
c = db.search('blacklist=*,%s*' % hier)
services = []
@ -327,10 +333,11 @@ if __name__ == '__main__':
sys.exit(0)
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)
elif len(opt)>2 and opt[:2] == '--':
elif len(opt) > 2 and opt[:2] == '--':
to_do[opt[2:]] = val.split('&')