diff --git a/gestion/tools/locate-mac.py b/gestion/tools/locate-mac.py index 5783d520..57334a7e 100755 --- a/gestion/tools/locate-mac.py +++ b/gestion/tools/locate-mac.py @@ -19,11 +19,12 @@ def format_mac(unformated_mac): # classe d'interrogation des switchs class interroge_switch (threading.Thread) : - def __init__ (self, switch, mac = None) : + def __init__ (self, switch, mac=None, affiche_uplinks=False): threading.Thread.__init__(self) self.switch = switch self.mac = mac - self.reponse=None + self.reponse = None + self.affiche_uplinks = affiche_uplinks self.start() def run (self) : @@ -35,7 +36,7 @@ class interroge_switch (threading.Thread) : iteration = iteration-1 if (prise != None): nom=sw.nom(None,prise) - if affiche_uplinks or "uplink" not in nom: + if self.affiche_uplinks or "uplink" not in nom: self.reponse = ("%-10s => prise %-2s : %s" % (self.switch.encode('iso-8859-15').replace('.adm.crans.org',''), str(prise), nom)) @@ -56,11 +57,11 @@ def info_machine(mac): # interrogation des switchs en parallele -def trace_machine(mac): +def trace_machine(mac, affiche_uplinks=False): tableau = [] for switch in ['backbone','multiprise'] + all_switchs(): - tableau.append(interroge_switch(switch, mac)) + tableau.append(interroge_switch(switch, mac, affiche_uplinks)) for t in tableau: t.join() @@ -81,5 +82,5 @@ def trace_machine(mac): if __name__ == '__main__': mac = format_mac(sys.argv[1]) affiche_uplinks = len(sys.argv) > 2 and bool(sys.argv[2]) - print trace_machine(mac) + print trace_machine(mac, affiche_uplinks) print system('/usr/scripts/gestion/whos.py -a mac=%s' % mac)