diff --git a/wifi/lease.py b/wifi/lease.py index 2dbff4c4..94844167 100755 --- a/wifi/lease.py +++ b/wifi/lease.py @@ -41,7 +41,7 @@ class Lease: mo = re.search("\\bhardware ethernet ([0-9a-f:]*);", texte) if not mo: - raise ValueError, u"Pas d'adresse Ethernet pour le bail" + raise ValueError, u"Pas d'adresse Ethernet pour le bail %s" % self.ip self.mac = mo.group(1) # On n'est pas intéressé par le reste @@ -54,8 +54,12 @@ class Leases: self.leases = [] # Méthode rapide : for lease in " ".join(file(fichier).readlines()).split("}")[:-1]: - nouveau = Lease(lease) - # On enleve les anciens - self.leases = filter(lambda x: x.ip != nouveau.ip, self.leases) - # On rajoute le nouveau - self.leases.append(nouveau) + try: + nouveau = Lease(lease) + # On enleve les anciens + self.leases = filter(lambda x: x.ip != nouveau.ip, self.leases) + # On rajoute le nouveau + self.leases.append(nouveau) + except ValueError: + # Certains baux peuvent ne pas avoir d'adresse MAC + pass