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