Issue #21386: Implement missing IPv4Address.is_global property

It was documented since 07a5610bae9d.

Initial patch by Roger Luethi.
This commit is contained in:
Berker Peksag 2016-06-11 22:11:47 +03:00
parent fa089b9b0b
commit 742192a4fe
3 changed files with 13 additions and 0 deletions

View file

@ -1311,6 +1311,11 @@ class IPv4Address(_BaseV4, _BaseAddress):
"""
return any(self in net for net in self._constants._private_networks)
@property
@functools.lru_cache()
def is_global(self):
return self not in self._constants._public_network and not self.is_private
@property
def is_multicast(self):
"""Test if the address is reserved for multicast use.
@ -1557,6 +1562,8 @@ class _IPv4Constants:
_multicast_network = IPv4Network('224.0.0.0/4')
_public_network = IPv4Network('100.64.0.0/10')
_private_networks = [
IPv4Network('0.0.0.0/8'),
IPv4Network('10.0.0.0/8'),