[wiki/macro/hoststatus.py] autostatus plus lisible

darcs-hash:20081207154532-bd074-892a99a8f2dc99280be88246a5234c6ad283637c.gz
This commit is contained in:
Antoine Durand-Gasselin 2008-12-07 16:45:32 +01:00
parent bfcaf970a7
commit 5a39b58bd8

View file

@ -8,45 +8,49 @@ def execute(macro, text) :
lines = open('/etc/autostatus/local.status').readlines() lines = open('/etc/autostatus/local.status').readlines()
f = macro.formatter f = macro.formatter
code = '' code = f.table(1)
typlist = ['routes', 'serveurs', 'serveurs de la ferme', 'switches', 'bornes', u'services et de l\'extérieur'] typlist = ['routes', 'serveurs', 'serveurs de la ferme', 'switches', 'bornes', u'services extérieurs au crans']
for typ in typlist: for typ in typlist:
lines = lines [1:] lines = lines [1:]
trucsdown = ''
code += f.heading(1,3)
code += 'Autostatus des '+typ
code += f.heading(0,3)
code += f.table(1)
trucsdown = 0
while lines and not re.match('dummy_host_\d+ 0 \n', lines[0]): while lines and not re.match('dummy_host_\d+ 0 \n', lines[0]):
if not re.search(' 0 ', lines[0]): if not re.search(' 0 ', lines[0]):
trucsdown += 1
line = lines[0].split(' ') line = lines[0].split(' ')
code += f.table_row(1) trucsdown += f.table_row(1)
code += f.table_cell(1,{'style':'background-color:silver'}) trucsdown += f.table_cell(1,{'style':'background-color:lightgrey;'})
code += unicode(f.text('%s (%s)' % (line [0], getoutput("grep '^%s[^a-zA-Z]' /etc/autostatus/hosts | cut -d ' ' -f 5-" % line [0])) ), "iso-8859-15") trucsdown += unicode(f.text('%s (%s)' % (line [0], getoutput("grep '^%s[^a-zA-Z]' /etc/autostatus/hosts | cut -d ' ' -f 5-" % line [0])) ), "iso-8859-15")
code += f.table_cell(0) trucsdown += f.table_cell(0)
# nombre de non réponse au ping # nombre de non réponse au ping
if int(line[1]) > 2 : if int(line[1]) > 2 :
code += f.table_cell(1,{'style':'background-color:red'}) trucsdown += f.table_cell(1,{'style':'background-color:red;'})
code += f.text(u'down') trucsdown += f.text(u'down')
else : else :
code += f.table_cell(1,{'style':'background-color:blue'}) trucsdown += f.table_cell(1,{'style':'background-color:blue;'})
code += f.text(u'état incertain') trucsdown += f.text(u'état incertain')
code += f.table_cell(0) trucsdown += f.table_cell(0)
code += f.table_row(0) trucsdown += f.table_row(0)
lines = lines [1:] lines = lines [1:]
if trucsdown == 0: if trucsdown == '':
code += f.table_row(1) code += f.table_row(1)
code += f.table_cell(1,{'style':'background-color:lime'}) code += f.table_cell(1,{'style':'background-color:silver;'})
code += f.text(u'Ok pour les '+typ) code += f.text(u'Autostatus des '+typ)
code += f.table_cell(0)
code += f.table_cell(1,{'style':'background-color:lime;'})
code += f.text(u'OK')
code += f.table_cell(0) code += f.table_cell(0)
code += f.table_row(0) code += f.table_row(0)
code += f.table(0) else:
code += f.table_row(1)
code += f.table_cell(1,{'style':'background-color:silver', 'colspan':'2'})
code += f.text(u'Autostatus des '+typ)
code += f.table_cell(0)
code += f.table_row(0)
code += trucsdown
trucsdown = ''
code += f.table(0)
return code return code