From 4f4a4cf8d9e4096e4171d848f64993fb3a04f5c5 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Mon, 26 Nov 2012 01:43:32 +0000 Subject: Modified modelfunctions to change getstatus to handle nil parameters and rename processname to servicename --- lib/modelfunctions.lua | 48 ++++++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/lib/modelfunctions.lua b/lib/modelfunctions.lua index 9ec5a34..bc98ef4 100644 --- a/lib/modelfunctions.lua +++ b/lib/modelfunctions.lua @@ -5,9 +5,9 @@ fs = require("acf.fs") format = require("acf.format") processinfo = require("acf.processinfo") -function getenabled(processname) - local result = cfe({ label = "Program status", name=processname }) - result.value, result.errtxt = processinfo.daemoncontrol(processname, "status") +function getenabled(servicename) + local result = cfe({ label = "Program status", name=servicename }) + result.value, result.errtxt = processinfo.daemoncontrol(servicename, "status") if string.find(result.value, ": not found") then result.value = "" result.errtxt = "Program not installed" @@ -49,27 +49,31 @@ function startstop_service(startstop, action) return startstop end -function getstatus(processname, packagename, label, servicename) +function getstatus(servicename, packagename, label) local status = {} + + if packagename then + local value, errtxt = processinfo.package_version(packagename) + status.version = cfe({ + label="Program version", + value=value, + errtxt=errtxt, + name=packagename + }) + end + + if servicename then + status.status = getenabled(servicename) - local value, errtxt = processinfo.package_version(packagename) - status.version = cfe({ - label="Program version", - value=value, - errtxt=errtxt, - name=packagename - }) - - status.status = getenabled(processname) - - local autostart_value, autostart_errtxt = processinfo.process_autostart(servicename or processname) - status.autostart = cfe({ - label="Autostart status", - value=autostart_value, - errtxt=autostart_errtxt, - name=servicename or processname - }) - + local autostart_value, autostart_errtxt = processinfo.process_autostart(servicename) + status.autostart = cfe({ + label="Autostart status", + value=autostart_value, + errtxt=autostart_errtxt, + name=servicename + }) + end + return cfe({ type="group", value=status, label=label }) end -- cgit v1.2.3