Merge pull request #3517 from Ansuel/ubus_short
[oweals/luci.git] / modules / luci-base / luasrc / sys.lua
index bb4c67fe88319a1d93afb2394f8e8a59533bc04a..c8ad5393e04c78b6a3d507282d477ae5f87526c4 100644 (file)
@@ -7,7 +7,6 @@ local table  = require "table"
 local nixio  = require "nixio"
 local fs     = require "nixio.fs"
 local uci    = require "luci.model.uci"
-local ntm    = require "luci.model.network"
 
 local luci  = {}
 luci.util   = require "luci.util"
@@ -25,69 +24,6 @@ end
 
 exec = luci.util.exec
 
-function mounts()
-       local data = {}
-       local k = {"fs", "blocks", "used", "available", "percent", "mountpoint"}
-       local ps = luci.util.execi("df")
-
-       if not ps then
-               return
-       else
-               ps()
-       end
-
-       for line in ps do
-               local row = {}
-
-               local j = 1
-               for value in line:gmatch("[^%s]+") do
-                       row[k[j]] = value
-                       j = j + 1
-               end
-
-               if row[k[1]] then
-
-                       -- this is a rather ugly workaround to cope with wrapped lines in
-                       -- the df output:
-                       --
-                       --      /dev/scsi/host0/bus0/target0/lun0/part3
-                       --                   114382024  93566472  15005244  86% /mnt/usb
-                       --
-
-                       if not row[k[2]] then
-                               j = 2
-                               line = ps()
-                               for value in line:gmatch("[^%s]+") do
-                                       row[k[j]] = value
-                                       j = j + 1
-                               end
-                       end
-
-                       table.insert(data, row)
-               end
-       end
-
-       return data
-end
-
-function mtds()
-       local data = {}
-
-       if fs.access("/proc/mtd") then
-               for l in io.lines("/proc/mtd") do
-                       local d, s, e, n = l:match('^([^%s]+)%s+([^%s]+)%s+([^%s]+)%s+"([^%s]+)"')
-                       if s and n then
-                               local d = {}
-                               d.size = tonumber(s, 16)
-                               d.name = n
-                               table.insert(data, d)
-                       end
-               end
-       end
-
-       return data
-end
-
 -- containing the whole environment is returned otherwise this function returns
 -- the corresponding string value for the given name or nil if no such variable
 -- exists.
@@ -189,7 +125,7 @@ local function _nethints(what, callback)
                        end
                end
        )
-       
+
        cur:foreach("dhcp", "odhcpd",
                function(s)
                        if type(s.leasefile) == "string" and fs.access(s.leasefile) then
@@ -443,11 +379,11 @@ function process.list()
 
        for line in ps do
                local pid, ppid, user, stat, vsz, mem, cpu, cmd = line:match(
-                       "^ *(%d+) +(%d+) +(%S.-%S) +([RSDZTW][W ][<N ]) +(%d+) +(%d+%%) +(%d+%%) +(.+)"
+                       "^ *(%d+) +(%d+) +(%S.-%S) +([RSDZTW][<NW ][<N ]) +(%d+) +(%d+%%) +(%d+%%) +(.+)"
                )
 
                local idx = tonumber(pid)
-               if idx then
+               if idx and not cmd:match("top %-bn1") then
                        data[idx] = {
                                ['PID']     = pid,
                                ['PPID']    = ppid,
@@ -600,6 +536,8 @@ end
 wifi = {}
 
 function wifi.getiwinfo(ifname)
+       local ntm = require "luci.model.network"
+
        ntm.init()
 
        local wnet = ntm:get_wifinet(ifname)
@@ -645,7 +583,7 @@ function init.enabled(name)
 end
 
 function init.enable(name)
-       return (init_action("enable", name) == 1)
+       return (init_action("enable", name) == 0)
 end
 
 function init.disable(name)
@@ -659,3 +597,11 @@ end
 function init.stop(name)
        return (init_action("stop", name) == 0)
 end
+
+function init.restart(name)
+       return (init_action("restart", name) == 0)
+end
+
+function init.reload(name)
+       return (init_action("reload", name) == 0)
+end