From 8332f8a49f9fd11999853132a32870adad5d2715 Mon Sep 17 00:00:00 2001 From: "Jack L. Frost (applejack)" Date: Fri, 21 Oct 2016 17:56:25 +0300 Subject: [PATCH] new module and some tweaks --- mod/battery | 17 +++++++++++++++++ mod/network | 31 +++++++++++++++---------------- 2 files changed, 32 insertions(+), 16 deletions(-) create mode 100644 mod/battery diff --git a/mod/battery b/mod/battery new file mode 100644 index 0000000..8d93f21 --- /dev/null +++ b/mod/battery @@ -0,0 +1,17 @@ +# vim: ft=ruby + +class Battery < Worker + require 'open3' + + def mainloop() + while true do + Open3.popen2("acpi") {|i,o,t| + self.write(o.gets.split[3]) + } + + sleep(10) + end + end +end + +Modules.add("battery", "Battery") diff --git a/mod/network b/mod/network index 6c3ae34..4dde2d0 100644 --- a/mod/network +++ b/mod/network @@ -16,25 +16,24 @@ class Network < Worker hosts = @my_config['hosts'] net_fail = 0 - i,o,t = Open3.popen2("fping", *hosts) - t.join + Open3.popen2("fping", *hosts) {|i,o,t| + net_ok = o.each_line.count - net_ok = o.each_line.count + if net_ok == hosts.count + status = "ok" + fg_colour = @my_config['ok_colour'] + elsif net_ok == 0 + status = "CRIT: all hosts failed!" + fg_colour = @my_config['crit_colour'] + else + status = "WARN: #{net_ok} host(s) failed" + fg_colour = @my_config['warn_colour'] + end - i.close; o.close + @rstr = "%{F#{fg_colour}}#{status}%{F-}" + } - if net_ok == hosts.count - status = "ok" - fg_colour = @my_config['ok_colour'] - elsif net_ok == 0 - status = "CRIT: all hosts failed!" - fg_colour = @my_config['crit_colour'] - else - status = "WARN: #{net_ok} host(s) failed" - fg_colour = @my_config['warn_colour'] - end - - return "%{F#{fg_colour}}#{status}%{F-}" + return @rstr end end