Fix Sonar issue, formatting (#99)
* Fix Sonar issue, formatting * Remove dev dependencies from requirements.tzt * Fix unit test failure
This commit is contained in:
@ -3,8 +3,9 @@
|
||||
"""MODULE: Provides functions that ensure an IP address is
|
||||
available to query the APIs for."""
|
||||
|
||||
import socket
|
||||
import ipaddress
|
||||
import socket
|
||||
|
||||
import requests
|
||||
|
||||
|
||||
@ -17,16 +18,17 @@ def is_ip_address(query: str) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
def resolve_domain_name(domain_name: str) -> ipaddress.IPv4Address:
|
||||
def resolve_domain_name(domain_name: str) -> ipaddress.IPv4Address | None:
|
||||
"""Resolve a domain name via DNS or return None."""
|
||||
try:
|
||||
ip_address = socket.gethostbyname(domain_name)
|
||||
except socket.gaierror:
|
||||
ip_address = None
|
||||
return ip_address
|
||||
result: str = socket.gethostbyname(domain_name)
|
||||
ip_address: ipaddress.IPv4Address = ipaddress.IPv4Address(result)
|
||||
return ip_address
|
||||
except (socket.gaierror, ipaddress.AddressValueError):
|
||||
return None
|
||||
|
||||
|
||||
def get_public_ip() -> ipaddress.IPv4Address:
|
||||
"""Get the user's current public IPv4 address."""
|
||||
ip_address = requests.get("https://api.ipify.org", timeout=10).text
|
||||
return ip_address
|
||||
ip_address: str = requests.get("https://api.ipify.org", timeout=10).text
|
||||
return ipaddress.IPv4Address(ip_address)
|
||||
|
Reference in New Issue
Block a user