11import logging
22from enum import Enum
33from ipaddress import IPv4Address , IPv6Address
4- from typing import Dict , Iterable , List , NewType , Optional , Union
4+ from typing import Any , AsyncIterable , Dict , Iterable , List , NewType , Optional , Union
55from urllib .parse import urlparse
66
77import aiodns
@@ -47,11 +47,11 @@ async def get_ns_servers(self, hostname: Hostname):
4747 fqdn = hostname
4848
4949 stop = False
50- while stop == False :
50+ while stop is False :
5151 """**Detect and get authoritative NS server of subdomains if delegated**"""
5252 try :
5353 entries = await self .resolver .query (fqdn , "NS" )
54- servers = []
54+ servers : List [ Any ] = []
5555 for entry in entries :
5656 servers += await self .get_ipv6_addresses (entry .host )
5757 servers += await self .get_ipv4_addresses (entry .host )
@@ -61,7 +61,7 @@ async def get_ns_servers(self, hostname: Hostname):
6161 except aiodns .error .DNSError :
6262 sub_domains = fqdn .split ("." )
6363 if len (sub_domains ) > 2 :
64- fqdn = "." .join (sub_domains [1 :])
64+ fqdn = Hostname ( "." .join (sub_domains [1 :]) )
6565 continue
6666
6767 if len (sub_domains ) == 2 :
@@ -121,7 +121,7 @@ async def get_dnslink(self, hostname: Hostname) -> Optional[str]:
121121
122122 async def get_txt_values (
123123 self , hostname : Hostname , delimiter : Optional [str ] = None
124- ) -> Iterable [str ]:
124+ ) -> AsyncIterable [str ]:
125125 """Returns all TXT values for a domain"""
126126 entries : Iterable = await self .resolver .query (hostname , "TXT" ) or []
127127 for entry in entries :
0 commit comments