From a0fc9eb49251a5a88b400b29cba2f216b349ec8e Mon Sep 17 00:00:00 2001 From: enkore Date: Sun, 24 Feb 2013 00:02:35 +0100 Subject: [PATCH] load module --- README.md | 10 ++++++++++ i3pystatus/load.py | 21 +++++++++++++++++++++ i3pystatus/regex.py | 2 +- 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 i3pystatus/load.py diff --git a/README.md b/README.md index fa41bdd..7b069e0 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,16 @@ This class shows a clock +### load + + +Shows system load + + +* format — format string used for output. {avg1}, {avg5} and {avg15} are the load average of the last one, five and fifteen minutes, respectively. {tasks} is the number of tasks (i.e. 1/285, which indiciates that one out of 285 total tasks is runnable). (default: {avg1} {avg5}) + + + ### mail diff --git a/i3pystatus/load.py b/i3pystatus/load.py new file mode 100644 index 0000000..58b19f7 --- /dev/null +++ b/i3pystatus/load.py @@ -0,0 +1,21 @@ +from i3pystatus import IntervalModule + +class Load(IntervalModule): + """ + Shows system load + """ + + format = "{avg1} {avg5}" + settings = ( + ("format", "format string used for output. {avg1}, {avg5} and {avg15} are the load average of the last one, five and fifteen minutes, respectively. {tasks} is the number of tasks (i.e. 1/285, which indiciates that one out of 285 total tasks is runnable)."), + ) + + file = "/proc/loadavg" + + def run(self): + with open(self.file, "r") as f: + avg1, avg5, avg15, tasks, lastpid = f.read().split(" ", 5) + + self.output = { + "full_text" : self.format.format(avg1=avg1, avg5=avg5, avg15=avg15, tasks=tasks), + } diff --git a/i3pystatus/regex.py b/i3pystatus/regex.py index 6061369..792de19 100644 --- a/i3pystatus/regex.py +++ b/i3pystatus/regex.py @@ -23,6 +23,6 @@ class Regex(IntervalModule): def run(self): with open(self.file, "r") as f: match = self.re.search(f.read()) - self.output = self.output = { + self.output = { "full_text" : self.format.format(*match.groups()), } \ No newline at end of file