Commit 98f7ae3 1 parent 43c8837 commit 98f7ae3 Copy full SHA for 98f7ae3
File tree 2 files changed +16
-1
lines changed
2 files changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -37,6 +37,11 @@ def is_multicast(self) -> bool: # type: ignore[override]
37
37
"""Return True if this is a multicast address."""
38
38
return super ().is_multicast
39
39
40
+ @cached_property
41
+ def reverse_pointer (self ) -> str : # type: ignore[override]
42
+ """Return the reverse DNS pointer name for the IPv4 address."""
43
+ return super ().reverse_pointer
44
+
40
45
41
46
class CachedIPv6Address (IPv6Address ):
42
47
def __str__ (self ) -> str :
@@ -68,8 +73,13 @@ def is_multicast(self) -> bool: # type: ignore[override]
68
73
"""Return True if this is a multicast address."""
69
74
return super ().is_multicast
70
75
76
+ @cached_property
77
+ def reverse_pointer (self ) -> str : # type: ignore[override]
78
+ """Return the reverse DNS pointer name for the IPv6 address."""
79
+ return super ().reverse_pointer
80
+
71
81
72
- @lru_cache (maxsize = 512 )
82
+ @lru_cache (maxsize = 535 )
73
83
def _cached_ip_addresses (
74
84
address : Union [str , bytes , int ]
75
85
) -> Optional [Union [IPv4Address , IPv6Address ]]:
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ def test_cached_ip_addresses_wrapper():
24
24
assert ipv4 .is_loopback is False
25
25
assert str (ipv4 ) == "169.254.0.0"
26
26
assert str (ipv4 ) == "169.254.0.0"
27
+ assert ipv4 .reverse_pointer == "0.0.254.169.in-addr.arpa"
27
28
28
29
ipv4 = ipaddress .cached_ip_addresses ("0.0.0.0" ) # noqa: S104
29
30
assert ipv4 is not None
@@ -38,6 +39,10 @@ def test_cached_ip_addresses_wrapper():
38
39
assert ipv6 .is_unspecified is False
39
40
assert ipv6 .is_loopback is False
40
41
assert ipv6 .is_multicast is False
42
+ assert (
43
+ ipv6 .reverse_pointer
44
+ == "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa"
45
+ )
41
46
42
47
ipv6 = ipaddress .cached_ip_addresses ("0:0:0:0:0:0:0:0" )
43
48
assert ipv6 is not None
You can’t perform that action at this time.
0 commit comments