Refactor IPv6 handling

Move is_ipv6_addr() to calibre.utils.network module
This commit is contained in:
YOKOTA Hiroshi 2023-11-18 12:24:18 +09:00
parent 70de4cc6a2
commit 8a400c83b2
4 changed files with 12 additions and 22 deletions

View File

@ -16,15 +16,9 @@ from calibre.utils.smtp import config as email_config
def local_url_for_content_server(): def local_url_for_content_server():
def is_ipv6_addr(addr):
import socket
try:
socket.inet_pton(socket.AF_INET6, addr)
return True
except OSError:
return False
from calibre.srv.opts import server_config from calibre.srv.opts import server_config
from calibre.utils.network import is_ipv6_addr
opts = server_config() opts = server_config()
interface = opts.listen_on or '0.0.0.0' interface = opts.listen_on or '0.0.0.0'

View File

@ -1299,13 +1299,7 @@ class ConfigWidget(ConfigWidgetBase):
self.stopping_msg.accept() self.stopping_msg.accept()
def test_server(self): def test_server(self):
def is_ipv6_addr(addr): from calibre.utils.network import is_ipv6_addr
import socket
try:
socket.inet_pton(socket.AF_INET6, addr)
return True
except OSError:
return False
prefix = self.advanced_tab.get('url_prefix') or '' prefix = self.advanced_tab.get('url_prefix') or ''
protocol = 'https' if self.advanced_tab.has_ssl else 'http' protocol = 'https' if self.advanced_tab.has_ssl else 'http'

View File

@ -508,13 +508,7 @@ class ServerLoop:
self.setup_socket() self.setup_socket()
def serve(self): def serve(self):
def is_ipv6_addr(addr): from calibre.utils.network import is_ipv6_addr
import socket
try:
socket.inet_pton(socket.AF_INET6, addr)
return True
except OSError:
return False
self.connection_map = {} self.connection_map = {}
if not self.socket_was_preactivated: if not self.socket_was_preactivated:

View File

@ -108,3 +108,11 @@ def internet_connected():
DummyNetworkStatus() DummyNetworkStatus()
return internet_connected.checker() return internet_connected.checker()
def is_ipv6_addr(addr):
import socket
try:
socket.inet_pton(socket.AF_INET6, addr)
return True
except OSError:
return False