diff options
author | Ted Trask <ttrask01@yahoo.com> | 2012-12-11 16:08:24 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2012-12-11 16:08:24 +0000 |
commit | a3d85f4a1a4c7a5856a4c6ddec2db9115a54ab89 (patch) | |
tree | d777aa26e6b494ac32527ae956dd7b1f331e232c | |
parent | 52865b9bf0fa41ffb4e2e22c505ea23d4feb23a8 (diff) | |
download | acf-alpine-baselayout-a3d85f4a1a4c7a5856a4c6ddec2db9115a54ab89.tar.bz2 acf-alpine-baselayout-a3d85f4a1a4c7a5856a4c6ddec2db9115a54ab89.tar.xz |
Interfaces: Replaced subprocess.call_capture with modelfunction.run_executable
-rw-r--r-- | interfaces-model.lua | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/interfaces-model.lua b/interfaces-model.lua index 6b3db5b..bfe41a8 100644 --- a/interfaces-model.lua +++ b/interfaces-model.lua @@ -5,7 +5,6 @@ module (..., package.seeall) require("modelfunctions") fs = require("acf.fs") format = require("acf.format") -require("subprocess") local servicename = "networking" local filename = "/etc/network/interfaces" @@ -334,11 +333,10 @@ get_status = function () status.filename.errtxt = "File not found" end - local code - code,status.iproute.value = subprocess.call_capture({"ip", "route"}) - code,status.ipaddr.value = subprocess.call_capture({"ip", "addr"}) - code,status.iptunnel.value = subprocess.call_capture({"ip", "tunnel"}) - + status.iproute.value, status.iproute.errtxt = modelfunctions.run_executable({"ip", "route"}) + status.ipaddr.value, status.ipaddr.errtxt = modelfunctions.run_executable({"ip", "addr"}) + status.iptunnel.value, status.iptunnel.errtxt = modelfunctions.run_executable({"ip", "tunnel"}) + return cfe({ type="group", value=status, label="Status" }) end @@ -352,7 +350,7 @@ write_file = function (self, newfile) end get_interfaces = function() - local code,ipaddr = subprocess.call_capture({"ip", "addr"}) + local ipaddr = modelfunctions.run_executable({"ip", "addr"}) -- now parse the result to find the interfaces local retval = {} for line in string.gmatch(ipaddr, "[^\n]*\n?") do @@ -365,7 +363,7 @@ get_interfaces = function() end get_addresses = function() - local code,ipaddr = subprocess.call_capture({"ip", "addr"}) + local ipaddr = modelfunctions.run_executable({"ip", "addr"}) -- now parse the result to find the interfaces and IP addresses local retval = {} local interface @@ -390,10 +388,9 @@ ifup_by_name = function (self, ifuprequest) local success = modelfunctions.validateselect(ifuprequest.value.name) if success then name = ifuprequest.value.name.value or "" - local code - code,ifuprequest.descr = subprocess.call_capture({"ifup", name, stderr=subprocess.STDOUT}) + ifuprequest.descr, ifuprequest.errtxt = modelfunctions.run_executable({"ifup", name}) - if ifuprequest.descr == "" then + if not ifuprequest.errtxt and ifuprequest.descr == "" then ifuprequest.descr = "Interface up" end else @@ -414,9 +411,9 @@ ifdown_by_name = function (self, ifdownrequest) local success = modelfunctions.validateselect(ifdownrequest.value.name) if success then name = ifdownrequest.value.name.value or "" - code,ifdownrequest.descr = subprocess.call_capture({"ifdown", name, stderr=subprocess.STDOUT}) + ifdownrequest.descr, ifdownrequest.errtxt = modelfunctions.run_executable({"ifdown", name}) - if ifdownrequest.descr == "" then + if not ifdownrequest.errtxt and ifdownrequest.descr == "" then ifdownrequest.descr = "Interface down" end else |