diff --git a/gestion/hptools2/__init__.py b/gestion/hptools2/__init__.py index b36a6b26..a77b79f7 100644 --- a/gestion/hptools2/__init__.py +++ b/gestion/hptools2/__init__.py @@ -3,7 +3,7 @@ import os -from .switch import HPSwitch +from .switch import HPSwitch, SwitchNotFound from .tools import trace_mac import gestion.config.snmp as config_snmp diff --git a/gestion/hptools2/switch.py b/gestion/hptools2/switch.py index 4ccbd8b0..95e99d6f 100644 --- a/gestion/hptools2/switch.py +++ b/gestion/hptools2/switch.py @@ -10,6 +10,10 @@ from .snmp import SNMPClient from .mac import format_mac, MACFactory from .defaults import OPERSTATUS, ADMINSTATUS, ETHSPEED, REV_ETHSPEED +class SwitchNotFound(Exception): + """Erreur basique quand le switch n'est pas trouvé""" + pass + class HPSwitchFactory(object): """Factory stockant les switches""" @@ -44,7 +48,10 @@ class HPSwitch(object): try: __switch = socket.gethostbyname_ex(switch)[0] except socket.gaierror: - __switch = switch + try: + netaddr.IPAddress(switch) + except netaddr.AddrFormatError: + raise SwitchNotFound switch_object = HPSwitchFactory.get_switch(__switch) if switch_object is None: