From 85c0eed42b339e0ca3225744864b06c948409b2e Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Mon, 25 Aug 2025 18:07:31 -0700 Subject: [PATCH] request scan w/ keepney --- system/ui/lib/wifi_manager.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/system/ui/lib/wifi_manager.py b/system/ui/lib/wifi_manager.py index 306f29d422..954192b6f2 100644 --- a/system/ui/lib/wifi_manager.py +++ b/system/ui/lib/wifi_manager.py @@ -9,7 +9,7 @@ from enum import IntEnum from collections import deque from jeepney import DBusAddress, new_method_call -from jeepney.wrappers import Properties +from jeepney.wrappers import DBusErrorResponse, Properties from jeepney.bus_messages import message_bus, MatchRule from jeepney.io.blocking import open_dbus_connection @@ -385,16 +385,12 @@ class WifiManager: cloudlog.warning("No WiFi device found") return - wifi_iface = dbus.Interface(self._main_bus.get_object(NM, self._wifi_device), NM_WIRELESS_IFACE) + wifi_addr = DBusAddress(self._wifi_device, bus_name=NM, interface=NM_WIRELESS_IFACE) try: - wifi_iface.RequestScan({}) + self._conn_main.send_and_get_reply(new_method_call(wifi_addr, 'RequestScan', 'a{sv}', ({},))) print('Requested scan') - except dbus.exceptions.DBusException as e: - # TODO: copilot is wrong, this never happens - if "org.freedesktop.NetworkManager.Device.Error.AlreadyScanning" in str(e): - print('Already scanning, skipping') - else: - cloudlog.exception("Failed to request scan") + except DBusErrorResponse: + cloudlog.exception("Failed to request scan") def _update_networks(self): print('UPDATING NETWORKS!!!!')