Skip to content

Commit afaafbb

Browse files
fix - infodialog does not show when no internet connection
2 parents 6fa06ed + 5059ce8 commit afaafbb

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

helper/SystemHelper.py

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ def close_keyboard(self):
7171
os.system("pkill wvkbd-mobintl")
7272

7373
def get_default_interface(self):
74+
if netifaces.gateways()["default"] == {}:
75+
return None
76+
7477
return netifaces.gateways()["default"][netifaces.AF_INET][1]
7578

7679
def get_current_ssid(self):
@@ -79,21 +82,22 @@ def get_current_ssid(self):
7982

8083
def get_ip_address(self):
8184
ifname = self.get_default_interface()
82-
return netifaces.ifaddresses(ifname)[netifaces.AF_INET][0]["addr"]
85+
return "" if ifname is None else netifaces.ifaddresses(ifname)[netifaces.AF_INET][0]["addr"]
8386

8487
def get_hostname(self):
8588
return socket.gethostname()
8689

8790
def get_netmask(self):
8891
ifname = self.get_default_interface()
89-
return netifaces.ifaddresses(ifname)[netifaces.AF_INET][0]["netmask"]
92+
return "" if ifname is None else netifaces.ifaddresses(ifname)[netifaces.AF_INET][0]["netmask"]
9093

9194
def get_mac_address(self):
9295
ifname = self.get_default_interface()
93-
return netifaces.ifaddresses(ifname)[netifaces.AF_LINK][0]["addr"]
96+
return "" if ifname is None else netifaces.ifaddresses(ifname)[netifaces.AF_LINK][0]["addr"]
9497

9598
def get_gateway(self):
96-
return netifaces.gateways()["default"][netifaces.AF_INET][0]
99+
ifname = self.get_default_interface()
100+
return "" if ifname is None else netifaces.gateways()["default"][netifaces.AF_INET][0]
97101

98102
def get_dns_servers(self):
99103
dns_servers = []
@@ -104,18 +108,9 @@ def get_dns_servers(self):
104108
return dns_servers
105109

106110
def get_network_config(self):
107-
try:
108-
return {
109-
"ssid": self.get_current_ssid(),
110-
"ip": self.get_ip_address(),
111-
"hostname": self.get_hostname(),
112-
"subnetmask": self.get_netmask(),
113-
"mac_address": self.get_mac_address(),
114-
"gateway": self.get_gateway(),
115-
"dns": self.get_dns_servers(),
116-
}
117-
except Exception:
111+
if self.get_default_interface() is None:
118112
return {
113+
"ssid": "",
119114
"ip": "",
120115
"hostname": "",
121116
"subnetmask": "",
@@ -124,6 +119,16 @@ def get_network_config(self):
124119
"dns": ["", ""],
125120
}
126121

122+
return {
123+
"ssid": self.get_current_ssid(),
124+
"ip": self.get_ip_address(),
125+
"hostname": self.get_hostname(),
126+
"subnetmask": self.get_netmask(),
127+
"mac_address": self.get_mac_address(),
128+
"gateway": self.get_gateway(),
129+
"dns": self.get_dns_servers(),
130+
}
131+
127132
def change_screen_brightness(self, value):
128133
brightness = int(value / 100 * 255)
129134
os.system(f"sudo echo {brightness} > /sys/class/backlight/10-0045/brightness")

0 commit comments

Comments
 (0)