From 2e9b80c0a09cc4883f6d5ca78424d67abca7b037 Mon Sep 17 00:00:00 2001 From: enkore Date: Fri, 8 Mar 2013 20:37:40 +0100 Subject: [PATCH] Oops! Forgot to check in the actual code for wireless module (3.8.2) --- i3pystatus/wireless.py | 36 ++++++++++++++++++++++++++++++++++++ setup.py | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 i3pystatus/wireless.py diff --git a/i3pystatus/wireless.py b/i3pystatus/wireless.py new file mode 100644 index 0000000..4ccc1a7 --- /dev/null +++ b/i3pystatus/wireless.py @@ -0,0 +1,36 @@ + +import basiciw + +from i3pystatus.network import Network + +class Wireless(Network): + """ + Display network information about a interface. + + Requires the PyPI packages `netifaces-py3` and `basiciw`. + + This is based on the network module, so all options and formatters are + the same, except for these additional formatters: + * {essid} ESSID of currently connected wifi + * {freq} Current frequency + * {quality} Link quality in percent + """ + + def collect(self): + color, format, fdict, up = super().collect() + + if up: + iwi = basiciw.iwinfo(self.interface) + fdict["essid"] = iwi["essid"] + fdict["freq"] = iwi["freq"] + quality = iwi["quality"] + if quality["quality_max"] > 0: + fdict["quality"] = quality["quality"] / quality["quality_max"] + else: + fdict["quality"] = quality["quality"] + fdict["quality"] *= 100 + else: + fdict["essid"] = "" + fdict["freq"] = fdict["quality"] = 0.0 + + return (color, format, fdict, up) diff --git a/setup.py b/setup.py index 2b1999a..0cda9bb 100755 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from setuptools import setup setup(name="i3pystatus", - version="3.8.1", + version="3.8.2", description="Like i3status, this generates status line for i3bar / i3wm", url="http://github.com/enkore/i3pystatus", license="MIT",