[wifi/bornes.py] on n'affiche pas de resultats pour les bornes down

darcs-hash:20091021090939-bd074-50cf9019951faced6d2ebf4887fd6c3cd93a4f38.gz
This commit is contained in:
Antoine Durand-Gasselin 2009-10-21 11:09:39 +02:00
parent af51c9177f
commit 4056214693

View file

@ -62,7 +62,7 @@ def bornes_canal():
if 'Current Channel' in curoutput: if 'Current Channel' in curoutput:
results[name] = curoutput.split(':')[-1].strip() results[name] = curoutput.split(':')[-1].strip()
else: else:
results[name] = '0' results[name] = None
output.close() output.close()
return results return results
@ -82,7 +82,9 @@ def bornes_clients():
# On lit tout les résultats: # On lit tout les résultats:
results = {} results = {}
for name, output in outputs.iteritems(): for name, output in outputs.iteritems():
macs = map(lambda x: x.split(), output.readlines()) lines = output.readlines()
if lines:
macs = map(lambda x: x.split(), lines)
results[name] = str(len([x for x in macs if x[0] == '2' and x[2] != 'yes'])) results[name] = str(len([x for x in macs if x[0] == '2' and x[2] != 'yes']))
output.close() output.close()
return results return results
@ -144,9 +146,11 @@ def munin(config, cmd=None, process=(lambda x: x), results=None, buckets=None, s
bins = {} bins = {}
for (lbl, val) in buckets.iteritems(): bins[val] = 0 for (lbl, val) in buckets.iteritems(): bins[val] = 0
for name, res in results.iteritems(): for name, res in results.iteritems():
try:
value = process(res).split('\n', 1)[0].strip() value = process(res).split('\n', 1)[0].strip()
if buckets: bins[buckets[value]] += 1 if buckets: bins[buckets[value]] += 1
else: print '%s.value %s' % (name, value) else: print '%s.value %s' % (name, value)
except: pass
if buckets: if buckets:
for name, res in bins.iteritems(): for name, res in bins.iteritems():
@ -215,7 +219,7 @@ graph_args --base 1000 -l 0
graph_vlabel uptime in days""" graph_vlabel uptime in days"""
def process(uptime): def process(uptime):
if uptime: return str(float (uptime.split()[1]) / (24 * 3600)) if uptime: return str(float (uptime.split()[1]) / (24 * 3600))
else: return '0' else: return None
munin(config, cmd = 'cat /proc/uptime', process=process) munin(config, cmd = 'cat /proc/uptime', process=process)
elif plugin == 'clients': elif plugin == 'clients':
config = """graph_title Clients connectés config = """graph_title Clients connectés