summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-05-29 13:04:49 +0000
committerGerrit Code Review <review@openstack.org>2015-05-29 13:04:49 +0000
commit43e125ded9d7081e932412fff23d1ce225e8a986 (patch)
treedcb25c024b320f816fa8ebcc59df1c00eea3010b
parent9b3e71e2ace4de074a30a54462a62f03ef2c93e5 (diff)
parent002473c0eaff5bde539e6f6980c387d3817f7063 (diff)
downloadwsme-43e125ded9d7081e932412fff23d1ce225e8a986.tar.gz
Merge "Move ipaddr to netaddr"0.7.0
-rw-r--r--requirements-py3.txt1
-rw-r--r--requirements.txt2
-rw-r--r--wsme/tests/test_types.py4
-rw-r--r--wsme/types.py14
4 files changed, 11 insertions, 10 deletions
diff --git a/requirements-py3.txt b/requirements-py3.txt
index 84d9dc6..d15bd16 100644
--- a/requirements-py3.txt
+++ b/requirements-py3.txt
@@ -2,3 +2,4 @@ six>=1.9.0
WebOb>=1.2.3
simplegeneric
pytz
+netaddr>=0.7.12
diff --git a/requirements.txt b/requirements.txt
index 8662b14..d15bd16 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
six>=1.9.0
WebOb>=1.2.3
simplegeneric
-ipaddr
pytz
+netaddr>=0.7.12
diff --git a/wsme/tests/test_types.py b/wsme/tests/test_types.py
index 3aa98ca..c11ba34 100644
--- a/wsme/tests/test_types.py
+++ b/wsme/tests/test_types.py
@@ -339,20 +339,24 @@ Value: 'v3'. Value should be one of: v., v.",
v = types.IPv4AddressType()
self.assertEqual(v.validate('127.0.0.1'), '127.0.0.1')
self.assertEqual(v.validate('192.168.0.1'), '192.168.0.1')
+ self.assertEqual(v.validate(u'8.8.1.1'), u'8.8.1.1')
self.assertRaises(ValueError, v.validate, '')
self.assertRaises(ValueError, v.validate, 'foo')
self.assertRaises(ValueError, v.validate,
'2001:0db8:bd05:01d2:288a:1fc0:0001:10ee')
+ self.assertRaises(ValueError, v.validate, '1.2.3')
def test_validate_ipv6_address_type(self):
v = types.IPv6AddressType()
self.assertEqual(v.validate('0:0:0:0:0:0:0:1'),
'0:0:0:0:0:0:0:1')
+ self.assertEqual(v.validate(u'0:0:0:0:0:0:0:1'), u'0:0:0:0:0:0:0:1')
self.assertEqual(v.validate('2001:0db8:bd05:01d2:288a:1fc0:0001:10ee'),
'2001:0db8:bd05:01d2:288a:1fc0:0001:10ee')
self.assertRaises(ValueError, v.validate, '')
self.assertRaises(ValueError, v.validate, 'foo')
self.assertRaises(ValueError, v.validate, '192.168.0.1')
+ self.assertRaises(ValueError, v.validate, '0:0:0:0:0:0:1')
def test_validate_uuid_type(self):
v = types.UuidType()
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: