diff options
author | Ted Trask <ttrask01@yahoo.com> | 2012-12-26 21:31:05 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2012-12-26 21:31:05 +0000 |
commit | 8f8b9ceb346b8d102c02ce37700c10ae313fcd1e (patch) | |
tree | d25d69757dadef6517918e06969bf03f48b2d562 | |
parent | a3d85f4a1a4c7a5856a4c6ddec2db9115a54ab89 (diff) | |
download | acf-alpine-baselayout-8f8b9ceb346b8d102c02ce37700c10ae313fcd1e.tar.bz2 acf-alpine-baselayout-8f8b9ceb346b8d102c02ce37700c10ae313fcd1e.tar.xz |
Replace io.popen with modelfunction.run_executable
-rw-r--r-- | health-model.lua | 22 | ||||
-rw-r--r-- | hostname-model.lua | 17 | ||||
-rw-r--r-- | interfaces-model.lua | 5 | ||||
-rw-r--r-- | logfiles-model.lua | 4 | ||||
-rw-r--r-- | modules-model.lua | 4 |
5 files changed, 22 insertions, 30 deletions
diff --git a/health-model.lua b/health-model.lua index 81d0bb4..8007ff0 100644 --- a/health-model.lua +++ b/health-model.lua @@ -4,31 +4,29 @@ module (..., package.seeall) fs = require("acf.fs") date = require("acf.date") format = require("acf.format") - -local path = "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin " +require("modelfunctions") -- ############################################################### -- Private functions local function querycmd ( cmdline ) - local cmd = io.popen( path..format.escapespecialcharacters(cmdline) ) - local cmd_result = cmd:read("*a") or "unknown" - cmd:close() + local cmd_result = modelfunctions.run_executable(format.string_to_table(cmdline, "%s+")) + if not cmd_result or cmd_result == "" then + cmd_result = "unknown" + end return cmd_result end local function indexversion ( ) - local cmd = io.popen( path.."apk version --index 2>/dev/null" ) - local cmd_result = cmd:read("*a") + local cmd_result = modelfunctions.run_executable({"apk", "version", "--index"}) if cmd_result == "" then cmd_result = nil end - cmd:close() return cmd_result end local function diskfree ( media ) - if not (media) then media = "" end - local cmd = io.popen( path.."df -h " .. format.escapespecialcharacters(media) ) - local cmd_result = cmd:read("*a") or "unknown" - cmd:close() + local cmd_result = modelfunctions.run_executable({"df", "-h", media}) + if not cmd_result or cmd_result == "" then + cmd_result = "unknown" + end return cmd_result end diff --git a/hostname-model.lua b/hostname-model.lua index 87b3b5f..11aacae 100644 --- a/hostname-model.lua +++ b/hostname-model.lua @@ -2,18 +2,18 @@ module (..., package.seeall) fs = require("acf.fs") +require("modelfunctions") get = function (fqdn) - local f,n + local n if fqdn then - f = io.popen("/bin/hostname -f 2>/dev/null") - n = f:read("*a") - f:close() + n = modelfunctions.run_executable({"hostname", "-f"}) end if not n or n == "" then - f = io.popen("/bin/hostname") - n = f:read("*a") or "unknown" - f:close() + n = modelfunctions.run_executable({"hostname"}) + end + if not n or n == "" then + n = "unknown" end return cfe({value=n, label="Hostname"}) @@ -29,8 +29,7 @@ update_name = function(self, name) if success then fs.write_file("/etc/hostname", name.value.hostname.value) - local f = io.popen("/bin/hostname -F /etc/hostname") - f:close() + modelfunctions.run_executable({"hostname", "-F", "/etc/hostname"}) else name.errtxt = "Failed to set hostname" end diff --git a/interfaces-model.lua b/interfaces-model.lua index bfe41a8..ab1ec68 100644 --- a/interfaces-model.lua +++ b/interfaces-model.lua @@ -8,7 +8,6 @@ format = require("acf.format") local servicename = "networking" local filename = "/etc/network/interfaces" -local path = "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin " local array @@ -388,7 +387,7 @@ ifup_by_name = function (self, ifuprequest) local success = modelfunctions.validateselect(ifuprequest.value.name) if success then name = ifuprequest.value.name.value or "" - ifuprequest.descr, ifuprequest.errtxt = modelfunctions.run_executable({"ifup", name}) + ifuprequest.descr, ifuprequest.errtxt = modelfunctions.run_executable({"ifup", name}, true) if not ifuprequest.errtxt and ifuprequest.descr == "" then ifuprequest.descr = "Interface up" @@ -411,7 +410,7 @@ ifdown_by_name = function (self, ifdownrequest) local success = modelfunctions.validateselect(ifdownrequest.value.name) if success then name = ifdownrequest.value.name.value or "" - ifdownrequest.descr, ifdownrequest.errtxt = modelfunctions.run_executable({"ifdown", name}) + ifdownrequest.descr, ifdownrequest.errtxt = modelfunctions.run_executable({"ifdown", name}, true) if not ifdownrequest.errtxt and ifdownrequest.descr == "" then ifdownrequest.descr = "Interface down" diff --git a/logfiles-model.lua b/logfiles-model.lua index 31fb088..0c26f22 100644 --- a/logfiles-model.lua +++ b/logfiles-model.lua @@ -15,9 +15,7 @@ local function file_info ( path ) end local size = st.size or "0" local lastmod = st.mtime or "---" - local file_inuse = io.popen("fuser " .. format.escapespecialcharacters(path) ) - local fileinuseresult = file_inuse:read("*a") or "unknown" - file_inuse:close() + local fileinuseresult = modelfunctions.run_executable({"fuser", path}) or "unknown" fileinuseresult = (fileinuseresult ~= "") return lastmod,size,fileinuseresult end diff --git a/modules-model.lua b/modules-model.lua index 301a7a2..89180c5 100644 --- a/modules-model.lua +++ b/modules-model.lua @@ -6,9 +6,7 @@ fs = require("acf.fs") local configfile = "/etc/modules" function read_modules() - local f = io.popen("/sbin/lsmod") - local retval = f:read("*a") - f:close() + local retval = modelfunctions.run_executable({"lsmod"}) return cfe({ type="longtext", value=retval, label="Modules List" }) end |