diff --git a/surveillance/arpwatch_sendmail.py b/surveillance/arpwatch_sendmail.py index ac268272..092c4f4a 100755 --- a/surveillance/arpwatch_sendmail.py +++ b/surveillance/arpwatch_sendmail.py @@ -6,18 +6,28 @@ # Licence : GPLv2 import sys, os, sre, smtplib +from commands import getstatusoutput find_mac = sre.compile(r'[0-9A-Fa-f]{1,2}(?::[0-9A-Fa-f]{1,2}){5}') def get_machine(mac): - s = os.popen("/usr/scripts/gestion/whos.py --debug mac=%s" % mac).readlines() - if len(s) == 1: - # En général, c'est la ligne "Aucun résultat trouvé" + commande = "/usr/scripts/gestion/whos.py --debug mac=%s" % mac + r, s = getstatusoutput(commande) + if r == 3: + # Aucun résultat trouvé return "" else: # On supprime les couleurs - s = "\n" + "".join(s) s = sre.sub('\x1b\[1;([0-9]|[0-9][0-9])m', '', s) + # On rajoute éventuellement le code de retour + if r != 0: + s = """ +Code de retour anormal : %d +Commande : %s +%s +""" % (r, commande, s) + else: + s = "\n" + s + "\n" return s if __name__ == "__main__":