* Merged Luci to use native UCI-library
[project/luci.git] / modules / freifunk / luasrc / controller / freifunk / luciinfo.lua
1 module("luci.controller.freifunk.luciinfo", package.seeall)
2
3 function index()
4         node("freifunk", "luciinfo").target = call("action_index")
5 end
6
7 function action_index()
8         local uci = luci.model.uci
9         luci.http.prepare_content("text/plain")
10         
11         -- General
12         print("luciinfo.api=1")
13         print("luciinfo.version=" .. tostring(require("luci").__version__))
14         
15         -- Sysinfo
16         local s, m, r = luci.sys.sysinfo()
17         local dr = luci.sys.net.defaultroute()
18         dr = dr and luci.sys.net.hexip4(dr.Gateway) or ""
19         local l1, l5, l15 = luci.sys.loadavg()
20         
21         print("sysinfo.system=" .. sanitize(s))
22         print("sysinfo.cpu=" .. sanitize(m))
23         print("sysinfo.ram=" .. sanitize(r))
24         print("sysinfo.hostname=" .. sanitize(luci.sys.hostname()))
25         print("sysinfo.load1=" .. tostring(l1))
26         print("sysinfo.load5=" .. tostring(l5))
27         print("sysinfo.load15=" .. tostring(l15))
28         print("sysinfo.defaultgw=" .. dr)
29
30         
31         -- Freifunk
32         local ff = uci.get_all("freifunk") or {}
33         for k, v in pairs(ff) do
34                         for i, j in pairs(v) do
35                                 if i:sub(1, 1) ~= "." then
36                                         print("freifunk." .. k .. "." .. i .. "=" .. j)
37                                 end
38                         end
39         end
40 end
41
42 function sanitize(val)
43         return val:gsub("\n", "\t")
44 end