Formatting fixes, fixed state management and added some icons

This commit is contained in:
nepoz 2021-07-05 13:09:17 -05:00
parent 448ab6de83
commit c7df1926dc

View file

@ -16,9 +16,9 @@ class Module(core.module.Module):
@core.decorators.every(seconds=10)
def __init__(self, config, theme):
super().__init__(config, theme, core.widget.Widget(self.network))
self._is_wireless = True
self._interface = None
self._message = None
self.__is_wireless = True
self.__interface = None
self.__message = None
self.__signal = -110
# Set up event handler for left mouse click
@ -33,48 +33,50 @@ class Module(core.module.Module):
# Attempt to extract a valid network interface device
try:
self._interface = route_tokens[route_tokens.index("dev") + 1]
self.__interface = route_tokens[route_tokens.index("dev") + 1]
except ValueError:
self._interface = None
self.__interface = None
# Check to see if the interface (if it exists) is wireless
if self._interface:
if self.__interface:
with open("/proc/net/wireless", "r") as f:
self._is_wireless = self._interface in f.read()
self.__is_wireless = self.__interface in f.read()
f.close()
# setup message to send to the user
if self._interface is None:
self._message = "Not connected to a network"
elif self._is_wireless:
if self.__interface is None:
self.__message = " No connection"
elif self.__is_wireless:
cmd = "iwgetid"
iw_dat = util.cli.execute(cmd)
has_ssid = "ESSID" in iw_dat
ssid = iw_dat[iw_dat.index(":") + 2: -2] if has_ssid else "Unknown"
# Get connection strength
cmd = "iwconfig {}".format(self._interface)
cmd = "iwconfig {}".format(self.__interface)
config_dat = " ".join(util.cli.execute(cmd).split())
config_tokens = config_dat.replace("=", " ").split()
strength = config_tokens[config_tokens.index("level") + 1]
self.__signal = util.format.asint(strength, minimum=-110, maximum=-30)
self._message = self.__generate_wireless_message(ssid, self.__signal)
self.__message = self.__generate_wireles_message(ssid, self.__signal)
else:
self._message = self._message
self.__signal = -30
self.__message = " Ethernet"
return self._message
return self.__message
def state(self, widget):
if self.__signal < -65:
return "warning"
if self.__signal < -80:
return "critical"
if self.__signal < -65:
return "warning"
return None
def __generate_wireless_message(self, ssid, strength):
def __generate_wireles_message(self, ssid, strength):
computed_strength = 100 * ((strength + 100) / 70.0)
return "{} {}%".format(ssid, int(computed_strength))