bpo-39481: PEP 585 for ipaddress.py (GH-19418)

This commit is contained in:
Batuhan Taşkaya 2020-04-10 07:04:54 +03:00 committed by GitHub
parent a8403d057d
commit 2fa67df605
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 0 deletions

View File

@ -12,6 +12,7 @@ __version__ = '1.0'
import functools import functools
import types
IPV4LENGTH = 32 IPV4LENGTH = 32
IPV6LENGTH = 128 IPV6LENGTH = 128
@ -1124,6 +1125,7 @@ class _BaseNetwork(_IPAddressBase):
return (self.network_address.is_loopback and return (self.network_address.is_loopback and
self.broadcast_address.is_loopback) self.broadcast_address.is_loopback)
__class_getitem__ = classmethod(types.GenericAlias)
class _BaseV4: class _BaseV4:
@ -1444,6 +1446,8 @@ class IPv4Interface(IPv4Address):
return '%s/%s' % (self._string_from_ip_int(self._ip), return '%s/%s' % (self._string_from_ip_int(self._ip),
self.hostmask) self.hostmask)
__class_getitem__ = classmethod(types.GenericAlias)
class IPv4Network(_BaseV4, _BaseNetwork): class IPv4Network(_BaseV4, _BaseNetwork):
@ -2152,6 +2156,8 @@ class IPv6Interface(IPv6Address):
def is_loopback(self): def is_loopback(self):
return self._ip == 1 and self.network.is_loopback return self._ip == 1 and self.network.is_loopback
__class_getitem__ = classmethod(types.GenericAlias)
class IPv6Network(_BaseV6, _BaseNetwork): class IPv6Network(_BaseV6, _BaseNetwork):

View File

@ -7,6 +7,7 @@ from collections import (
) )
from collections.abc import * from collections.abc import *
from contextlib import AbstractContextManager, AbstractAsyncContextManager from contextlib import AbstractContextManager, AbstractAsyncContextManager
from ipaddress import IPv4Network, IPv4Interface, IPv6Network, IPv6Interface
from itertools import chain from itertools import chain
from os import DirEntry from os import DirEntry
from re import Pattern, Match from re import Pattern, Match
@ -36,6 +37,9 @@ class BaseTest(unittest.TestCase):
Mapping, MutableMapping, MappingView, Mapping, MutableMapping, MappingView,
KeysView, ItemsView, ValuesView, KeysView, ItemsView, ValuesView,
Sequence, MutableSequence, Sequence, MutableSequence,
MappingProxyType,
DirEntry,
IPv4Network, IPv4Interface, IPv6Network, IPv6Interface,
MappingProxyType, DirEntry, MappingProxyType, DirEntry,
chain, chain,
): ):