summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormshields@google.com <mshields@google.com@09200d28-7f98-11dd-ad27-0f66e57d2035>2011-02-08 04:10:42 +0000
committermshields@google.com <mshields@google.com@09200d28-7f98-11dd-ad27-0f66e57d2035>2011-02-08 04:10:42 +0000
commit6ce2f64babd0089ccc5644896e8e5387d3ca3afe (patch)
tree47565cd4b75ae2acb97bb773075225a72121513f
parentbc8a8e75c1e96366440427f7810fcc43d76cf455 (diff)
downloadipaddr-py-6ce2f64babd0089ccc5644896e8e5387d3ca3afe.tar.gz
Fix issue 78.
git-svn-id: https://ipaddr-py.googlecode.com/svn@207 09200d28-7f98-11dd-ad27-0f66e57d2035
-rw-r--r--trunk/ipaddr.py10
-rwxr-xr-xtrunk/ipaddr_test.py10
2 files changed, 10 insertions, 10 deletions
diff --git a/trunk/ipaddr.py b/trunk/ipaddr.py
index a0091f1..239b802 100644
--- a/trunk/ipaddr.py
+++ b/trunk/ipaddr.py
@@ -608,10 +608,8 @@ class _BaseNet(_IPAddrBase):
and int(self.netmask) == int(other.netmask))
except AttributeError:
if isinstance(other, _BaseIP):
- # If other is a _BaseIP, we pretend it's a network for
- # this equality test. It's a slight hack, but it's a
- # convenient one.
- return self == IPNetwork(other._ip, version=other._version)
+ return (self._version == other._version
+ and self._ip == other._ip)
def __ne__(self, other):
eq = self.__eq__(other)
@@ -1688,7 +1686,7 @@ class _BaseV6(object):
RFC 2373 2.5.2.
"""
- return (self == IPv6Network('::') or self == IPv6Address('::'))
+ return self._ip == 0 and getattr(self, '_prefixlen', 128) == 128
@property
def is_loopback(self):
@@ -1699,7 +1697,7 @@ class _BaseV6(object):
RFC 2373 2.5.3.
"""
- return (self == IPv6Network('::1') or self == IPv6Address('::1'))
+ return self._ip == 1 and getattr(self, '_prefixlen', 128) == 128
@property
def is_link_local(self):
diff --git a/trunk/ipaddr_test.py b/trunk/ipaddr_test.py
index 0fefb09..5ad815c 100755
--- a/trunk/ipaddr_test.py
+++ b/trunk/ipaddr_test.py
@@ -425,14 +425,18 @@ class IpaddrUnitTest(unittest.TestCase):
self.assertFalse(self.ipv4 == 2)
self.assertTrue(ipaddr.IPNetwork('1.1.1.1/32') ==
ipaddr.IPAddress('1.1.1.1'))
- self.assertFalse(ipaddr.IPNetwork('1.1.1.1/24') ==
+ self.assertTrue(ipaddr.IPNetwork('1.1.1.1/24') ==
+ ipaddr.IPAddress('1.1.1.1'))
+ self.assertFalse(ipaddr.IPNetwork('1.1.1.0/24') ==
ipaddr.IPAddress('1.1.1.1'))
self.assertTrue(self.ipv6 ==
ipaddr.IPv6Network('2001:658:22a:cafe:200::1/64'))
self.assertTrue(ipaddr.IPNetwork('::1/128') ==
ipaddr.IPAddress('::1'))
- self.assertFalse(ipaddr.IPNetwork('::1/127') ==
+ self.assertTrue(ipaddr.IPNetwork('::1/127') ==
+ ipaddr.IPAddress('::1'))
+ self.assertFalse(ipaddr.IPNetwork('::0/127') ==
ipaddr.IPAddress('::1'))
self.assertFalse(self.ipv6 ==
ipaddr.IPv6Network('2001:658:22a:cafe:200::1/63'))
@@ -441,8 +445,6 @@ class IpaddrUnitTest(unittest.TestCase):
self.assertFalse(self.ipv6 == [])
self.assertFalse(self.ipv6 == 2)
-
-
def testNotEquals(self):
self.assertFalse(self.ipv4 != ipaddr.IPv4Network('1.2.3.4/24'))
self.assertTrue(self.ipv4 != ipaddr.IPv4Network('1.2.3.4/23'))