From 0b713e284e45ba746b3a698f204ba9ab22c552db Mon Sep 17 00:00:00 2001 From: Mateus Melchiades Date: Sun, 19 Feb 2023 19:02:24 -0300 Subject: [PATCH] More robust connection check --- vanilla_first_setup/defaults/conn_check.py | 26 ++++++---------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/vanilla_first_setup/defaults/conn_check.py b/vanilla_first_setup/defaults/conn_check.py index 1107271..c0d5d08 100644 --- a/vanilla_first_setup/defaults/conn_check.py +++ b/vanilla_first_setup/defaults/conn_check.py @@ -14,8 +14,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import socket -import subprocess +from urllib.request import urlopen +from urllib.error import URLError from gi.repository import Gtk, GLib, Adw @@ -52,23 +52,11 @@ class VanillaDefaultConnCheck(Adw.Bin): def __start_conn_check(self): def async_fn(): try: - host = socket.gethostbyname("8.8.8.8") - s = socket.create_connection((host, 53), 2) - s.close() + urlopen("http://google.com", timeout=1) return True - except: - try: - host = '2001:4860:4860::8888' - s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) - s.settimeout(2) - s.connect((host, 53)) - s.close() - return True - except: - pass - - return False - + except URLError: + return False + def callback(res, *args): if res: self.__window.next() @@ -80,7 +68,7 @@ class VanillaDefaultConnCheck(Adw.Bin): self.btn_recheck.set_visible(True) RunAsync(async_fn, callback) - + def __on_btn_recheck_clicked(self, widget, *args): widget.set_visible(False) self.status_page.set_icon_name("content-loading-symbolic")