summaryrefslogtreecommitdiff
path: root/wsme/types.py
diff options
context:
space:
mode:
Diffstat (limited to 'wsme/types.py')
-rw-r--r--wsme/types.py14
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: