def __repr__(self):
return '%s(%r)' % (self.__class__.__name__, str(self))
+ def __str__(self):
+ return '%s/%d' % (str(self.network_address),
+ self.prefixlen)
+
def hosts(self):
"""Generate Iterator over usable hosts in a network.
return NotImplemented
return not eq
- def __str__(self):
- return '%s/%s' % (self.ip, self._prefixlen)
-
def __hash__(self):
return hash(int(self.network_address) ^ int(self.netmask))
@property
def with_prefixlen(self):
- return '%s/%d' % (str(self.ip), self._prefixlen)
+ return '%s/%d' % (str(self.network_address), self._prefixlen)
@property
def with_netmask(self):
- return '%s/%s' % (str(self.ip), str(self.netmask))
+ return '%s/%s' % (str(self.network_address), str(self.netmask))
@property
def with_hostmask(self):
- return '%s/%s' % (str(self.ip), str(self.hostmask))
+ return '%s/%s' % (str(self.network_address), str(self.hostmask))
@property
def num_addresses(self):
"""The binary representation of this address."""
return v4_int_to_packed(self.network_address)
- def __str__(self):
- return '%s/%d' % (str(self.network_address),
- self.prefixlen)
-
def _is_valid_netmask(self, netmask):
"""Verify that the netmask is valid.
return True
return False
- @property
- def with_prefixlen(self):
- return '%s/%d' % (str(self.network_address), self._prefixlen)
-
- @property
- def with_netmask(self):
- return '%s/%s' % (str(self.network_address), str(self.netmask))
-
- @property
- def with_hostmask(self):
- return '%s/%s' % (str(self.network_address), str(self.hostmask))
-
class _BaseV6:
if self._prefixlen == (self._max_prefixlen - 1):
self.hosts = self.__iter__
- def __str__(self):
- return '%s/%d' % (str(self.network_address),
- self.prefixlen)
-
def _is_valid_netmask(self, prefixlen):
"""Verify that the netmask/prefixlen is valid.
except ValueError:
return False
return 0 <= prefixlen <= self._max_prefixlen
-
- @property
- def with_prefixlen(self):
- return '%s/%d' % (str(self.network_address), self._prefixlen)
-
- @property
- def with_netmask(self):
- return '%s/%s' % (str(self.network_address), str(self.netmask))
-
- @property
- def with_hostmask(self):
- return '%s/%s' % (str(self.network_address), str(self.hostmask))
self.assertTrue(self.ipv4_address in dummy)
self.assertTrue(ip2 in dummy)
+ def testIPv6NetworkHelpers(self):
+ net = self.ipv6_network
+ self.assertEqual('2001:658:22a:cafe::/64', net.with_prefixlen)
+ self.assertEqual('2001:658:22a:cafe::/ffff:ffff:ffff:ffff::',
+ net.with_netmask)
+ self.assertEqual('2001:658:22a:cafe::/::ffff:ffff:ffff:ffff',
+ net.with_hostmask)
+ self.assertEqual('2001:658:22a:cafe::/64', str(net))
+
+ def testIPv4NetworkHelpers(self):
+ net = self.ipv4_network
+ self.assertEqual('1.2.3.0/24', net.with_prefixlen)
+ self.assertEqual('1.2.3.0/255.255.255.0', net.with_netmask)
+ self.assertEqual('1.2.3.0/0.0.0.255', net.with_hostmask)
+ self.assertEqual('1.2.3.0/24', str(net))
+
def testCopyConstructor(self):
addr1 = ipaddress.ip_network('10.1.1.0/24')
addr2 = ipaddress.ip_network(addr1)