Skip to content

Commit de42e33

Browse files
committed
Combine add_wpa_connection and add_open_connection into a single add_wifi_connection function
1 parent 50a8414 commit de42e33

File tree

1 file changed

+22
-28
lines changed

1 file changed

+22
-28
lines changed

gonotego/settings/wifi.py

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)