From 8a400c83b26e2e0223512ac743ec072a0c2f06bb Mon Sep 17 00:00:00 2001 From: YOKOTA Hiroshi Date: Sat, 18 Nov 2023 12:24:18 +0900 Subject: [PATCH] Refactor IPv6 handling Move is_ipv6_addr() to calibre.utils.network module --- src/calibre/gui2/actions/device.py | 10 ++-------- src/calibre/gui2/preferences/server.py | 8 +------- src/calibre/srv/loop.py | 8 +------- src/calibre/utils/network.py | 8 ++++++++ 4 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/calibre/gui2/actions/device.py b/src/calibre/gui2/actions/device.py index 1fc26ca647..656fc5be79 100644 --- a/src/calibre/gui2/actions/device.py +++ b/src/calibre/gui2/actions/device.py @@ -16,15 +16,9 @@ from calibre.utils.smtp import config as email_config 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.utils.network import is_ipv6_addr + opts = server_config() interface = opts.listen_on or '0.0.0.0' diff --git a/src/calibre/gui2/preferences/server.py b/src/calibre/gui2/preferences/server.py index 98a3b783d3..65aa700d55 100644 --- a/src/calibre/gui2/preferences/server.py +++ b/src/calibre/gui2/preferences/server.py @@ -1299,13 +1299,7 @@ class ConfigWidget(ConfigWidgetBase): self.stopping_msg.accept() def test_server(self): - def is_ipv6_addr(addr): - import socket - try: - socket.inet_pton(socket.AF_INET6, addr) - return True - except OSError: - return False + from calibre.utils.network import is_ipv6_addr prefix = self.advanced_tab.get('url_prefix') or '' protocol = 'https' if self.advanced_tab.has_ssl else 'http' diff --git a/src/calibre/srv/loop.py b/src/calibre/srv/loop.py index 4fc4f68738..beb02b8bdf 100644 --- a/src/calibre/srv/loop.py +++ b/src/calibre/srv/loop.py @@ -508,13 +508,7 @@ class ServerLoop: self.setup_socket() def serve(self): - def is_ipv6_addr(addr): - import socket - try: - socket.inet_pton(socket.AF_INET6, addr) - return True - except OSError: - return False + from calibre.utils.network import is_ipv6_addr self.connection_map = {} if not self.socket_was_preactivated: diff --git a/src/calibre/utils/network.py b/src/calibre/utils/network.py index 410206df81..ca469f9c89 100644 --- a/src/calibre/utils/network.py +++ b/src/calibre/utils/network.py @@ -108,3 +108,11 @@ def internet_connected(): DummyNetworkStatus() 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