@@ -48,10 +48,10 @@ def configure_network_connections():
4848 # Create new connection
4949 if network .get ('psk' ):
5050 # WPA secured network
51- add_wpa_connection (ssid , network ['psk' ])
51+ add_wifi_connection (ssid , network ['psk' ])
5252 else :
5353 # Open network
54- add_open_connection (ssid )
54+ add_wifi_connection (ssid )
5555
5656 return True
5757 except Exception as e :
@@ -85,34 +85,20 @@ def get_gonotego_managed_connections():
8585 return []
8686
8787
88- def add_wpa_connection (ssid , password ):
89- """Add a new WPA secured WiFi connection."""
90- try :
91- conn_name = ssid
92-
93- cmd = [
94- "sudo" , "nmcli" , "connection" , "add" ,
95- "type" , "wifi" ,
96- "con-name" , conn_name ,
97- "ifname" , "wlan0" ,
98- "ssid" , ssid ,
99- "wifi-sec.key-mgmt" , "wpa-psk" ,
100- "wifi-sec.psk" , password
101- ]
102-
103- subprocess .run (cmd , check = True , capture_output = True )
104- return True
105- except subprocess .CalledProcessError as e :
106- print (f"Error adding WPA connection for { ssid } : { e } " )
107- print (f"Error output: { e .stderr } " )
108- return False
109-
110-
111- def add_open_connection (ssid ):
112- """Add a new open (unsecured) WiFi connection."""
88+ def add_wifi_connection (ssid , password = None ):
89+ """Add a new WiFi connection (secure or open).
90+
91+ Args:
92+ ssid: The SSID of the network to add
93+ password: If provided, adds a WPA secured network. If None, adds an open network.
94+
95+ Returns:
96+ True on success, False on error
97+ """
11398 try :
11499 conn_name = ssid
115100
101+ # Base command for both connection types
116102 cmd = [
117103 "sudo" , "nmcli" , "connection" , "add" ,
118104 "type" , "wifi" ,
@@ -121,10 +107,18 @@ def add_open_connection(ssid):
121107 "ssid" , ssid
122108 ]
123109
110+ # Add security parameters if password is provided
111+ if password :
112+ cmd .extend ([
113+ "wifi-sec.key-mgmt" , "wpa-psk" ,
114+ "wifi-sec.psk" , password
115+ ])
116+
124117 subprocess .run (cmd , check = True , capture_output = True )
125118 return True
126119 except subprocess .CalledProcessError as e :
127- print (f"Error adding open connection for { ssid } : { e } " )
120+ conn_type = "WPA" if password else "open"
121+ print (f"Error adding { conn_type } connection for { ssid } : { e } " )
128122 print (f"Error output: { e .stderr } " )
129123 return False
130124
0 commit comments