This commit is contained in:
Antoine Pitrou 2012-08-05 14:53:49 +02:00
commit 415d0f5cd3
5 changed files with 13 additions and 17 deletions

View File

@ -390,11 +390,13 @@ so to avoid duplication they are only documented for :class:`IPv4Network`.
.. attribute:: network_address
The broadcast address for the network.
The network address for the network. The network address and the
prefix length together uniquely define a network.
.. attribute:: broadcast_address
The broadcast address for the network.
The broadcast address for the network. Packets sent to the broadcast
address should be received by every host on the network.
.. attribute:: host mask

View File

@ -413,8 +413,10 @@ class GzipFile(io.BufferedIOBase):
if self.fileobj is None:
return b''
try:
# 1024 is the same buffering heuristic used in read()
self._read(max(n, 1024))
# Ensure that we don't return b"" if we haven't reached EOF.
while self.extrasize == 0:
# 1024 is the same buffering heuristic used in read()
self._read(max(n, 1024))
except EOFError:
pass
offset = self.offset - self.extrastart

View File

@ -1330,10 +1330,6 @@ class IPv4Interface(IPv4Address):
def __hash__(self):
return self._ip ^ self._prefixlen ^ int(self.network.network_address)
@property
def prefixlen(self):
return self._prefixlen
@property
def ip(self):
return IPv4Address(self._ip)
@ -1708,7 +1704,7 @@ class _BaseV6:
hex_str = '%032x' % ip_int
parts = [hex_str[x:x+4] for x in range(0, 32, 4)]
if isinstance(self, (_BaseNetwork, IPv6Interface)):
return '%s/%d' % (':'.join(parts), self.prefixlen)
return '%s/%d' % (':'.join(parts), self._prefixlen)
return ':'.join(parts)
@property
@ -1946,10 +1942,6 @@ class IPv6Interface(IPv6Address):
def __hash__(self):
return self._ip ^ self._prefixlen ^ int(self.network.network_address)
@property
def prefixlen(self):
return self._prefixlen
@property
def ip(self):
return IPv6Address(self._ip)

View File

@ -731,8 +731,8 @@ class IpaddrUnitTest(unittest.TestCase):
'2001:658:22a:cafe:ffff:ffff:ffff:ffff')
def testGetPrefixlen(self):
self.assertEqual(self.ipv4_interface.prefixlen, 24)
self.assertEqual(self.ipv6_interface.prefixlen, 64)
self.assertEqual(self.ipv4_interface.network.prefixlen, 24)
self.assertEqual(self.ipv6_interface.network.prefixlen, 64)
def testGetSupernet(self):
self.assertEqual(self.ipv4_network.supernet().prefixlen, 23)

View File

@ -81,8 +81,8 @@ Library
constructor, objects in the ipaddress module no longer implement __index__
(they still implement __int__ as appropriate)
- Issue #15546: Fix handling of pathological input data in the read1() method of
the BZ2File, GzipFile and LZMAFile classes.
- Issue #15546: Fix handling of pathological input data in the peek() and
read1() methods of the BZ2File, GzipFile and LZMAFile classes.
- Issue #13052: Fix IDLE crashing when replace string in Search/Replace dialog
ended with '\'. Patch by Roger Serwy.