diff options
-rw-r--r-- | pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py | 6 | ||||
-rw-r--r-- | setup.py | 11 |
2 files changed, 16 insertions, 1 deletions
diff --git a/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py b/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py index 992a9496..6f4e6bb8 100644 --- a/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py +++ b/pysnmp/smi/mibs/TRANSPORT-ADDRESS-MIB.py @@ -2,6 +2,7 @@ # by libsmi2pysnmp-0.1.3 at Tue Apr 3 16:58:37 2012, # Python version sys.version_info(major=2, minor=7, micro=2, releaselevel='final', serial=0) +from pysnmp.error import PySnmpError from socket import AF_INET, error, has_ipv6 try: @@ -19,7 +20,10 @@ except ImportError: inet_pton = lambda x,y: inet_aton(y) has_ipv6 = False elif has_ipv6: - import ctypes + try: + import ctypes + except ImportError: + raise PySnmpError('Need ctypes module to handle IPv6 addresses') class sockaddr(ctypes.Structure): _fields_ = [("sa_family", ctypes.c_short), @@ -52,6 +52,8 @@ try: } if sys.platform.lower()[:3] != 'win': params['install_requires'].append('pycrypto>=2.4.1') + elif sys.version_info[:2] < (2, 5): + params['install_requires'].append('ctypes') except ImportError: for arg in sys.argv: @@ -64,6 +66,15 @@ except ImportError: params['requires'] = [ 'pyasn1(>=0.1.2)' ] if sys.platform.lower()[:3] != 'win': params['requires'].append('pycrypto(>=2.4.1)') + elif sys.platform.lower()[:3] == 'win': + try: + import ctypes + except ImportError: + sys.stderr.write("""WARNING! WARNING! WARNING! +Handling IPv6 addresses requires the ctypes module. Please install it on +your system if you need PySNMP supporting IPv6 addressing: +http://downloads.sourceforge.net/project/ctypes/ctypes/1.0.2/ctypes-1.0.2.tar.gz +""") if sys.platform.lower()[:3] == 'win': try: |