network: do not ask psk for open networks

This commit is contained in:
Alfredo Monclus 2024-05-25 15:07:12 -03:00
parent b9f51d39db
commit 9bc75729d6
2 changed files with 8 additions and 1 deletions

View File

@ -52,6 +52,8 @@ def get_encryption(flags):
encryption += "WPA-PSK "
if flags & NM_802_11_AP_SEC_KEY_MGMT_802_1X:
encryption += "802.1x "
if not encryption:
encryption += "Open"
return encryption
@ -133,6 +135,11 @@ class SdbusNm:
def is_known(self, ssid):
return any(net['SSID'] == ssid for net in self.get_known_networks())
def is_open(self, ssid):
for network in self.get_networks():
if network["SSID"] == ssid:
return network["security"] == "Open"
def get_ip_address(self):
active_connection_path = self.nm.primary_connection
if not active_connection_path or active_connection_path == '/':

View File

@ -195,7 +195,7 @@ class Panel(ScreenPanel):
def connect_network(self, widget, ssid, showadd=True):
self.deactivate()
if showadd and not self.sdbus_nm.is_known(ssid):
if showadd and not self.sdbus_nm.is_known(ssid) and not self.sdbus_nm.is_open(ssid):
self.show_add_network(widget, ssid)
self.activate()
return