diff options
Diffstat (limited to 'wsme/types.py')
-rw-r--r-- | wsme/types.py | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/wsme/types.py b/wsme/types.py index ac16694..77404e5 100644 --- a/wsme/types.py +++ b/wsme/types.py @@ -3,17 +3,13 @@ import datetime import decimal import inspect import logging +import netaddr import re import six import sys import uuid import weakref -try: - import ipaddress -except ImportError: - import ipaddr as ipaddress - from wsme import exc log = logging.getLogger(__name__) @@ -234,8 +230,8 @@ class IPv4AddressType(UserType): @staticmethod def validate(value): try: - ipaddress.IPv4Address(value) - except ipaddress.AddressValueError: + netaddr.IPAddress(value, version=4, flags=netaddr.INET_PTON) + except netaddr.AddrFormatError: error = 'Value should be IPv4 format' raise ValueError(error) else: @@ -254,8 +250,8 @@ class IPv6AddressType(UserType): @staticmethod def validate(value): try: - ipaddress.IPv6Address(value) - except ipaddress.AddressValueError: + netaddr.IPAddress(value, version=6, flags=netaddr.INET_PTON) + except netaddr.AddrFormatError: error = 'Value should be IPv6 format' raise ValueError(error) else: |