summaryrefslogtreecommitdiffhomepage
path: root/modules/admin-mini/luasrc/model
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2008-08-17 00:19:44 +0000
committerSteven Barth <steven@midlink.org>2008-08-17 00:19:44 +0000
commit7d08bec3ae84c79c17718cf794427fef7af37085 (patch)
tree7d8f05e855ca35391da94f4d3be7dc99ae1187ed /modules/admin-mini/luasrc/model
parent510fde01188d1a9a903c2d56b83f498a1e6666b8 (diff)
modules/admin-mini: Revised homepage
Diffstat (limited to 'modules/admin-mini/luasrc/model')
-rw-r--r--modules/admin-mini/luasrc/model/cbi/mini/index.lua105
1 files changed, 105 insertions, 0 deletions
diff --git a/modules/admin-mini/luasrc/model/cbi/mini/index.lua b/modules/admin-mini/luasrc/model/cbi/mini/index.lua
new file mode 100644
index 000000000..eb7d77eb1
--- /dev/null
+++ b/modules/admin-mini/luasrc/model/cbi/mini/index.lua
@@ -0,0 +1,105 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+]]--
+require("luci.sys")
+require("luci.tools.webadmin")
+
+w = Template("mini/index")
+
+f = SimpleForm("main", translate("system"))
+f.reset = false
+f.submit = false
+
+local system, model, memtotal, memcached, membuffers, memfree = luci.sys.sysinfo()
+local uptime = luci.sys.uptime()
+f:field(DummyValue, "_system", translate("system")).value = system
+f:field(DummyValue, "_cpu", translate("m_i_processor")).value = model
+
+local load1, load5, load15 = luci.sys.loadavg()
+f:field(DummyValue, "_la", translate("load")).value =
+ string.format("%.2f, %.2f, %.2f", load1, load5, load15)
+
+f:field(DummyValue, "_memtotal", translate("m_i_memory")).value =
+ string.format("%.2f MB (%.0f%% %s, %.0f%% %s, %.0f%% %s)",
+ tonumber(memtotal) / 1024,
+ 100 * memcached / memtotal,
+ translate("mem_cached") or "",
+ 100 * membuffers / memtotal,
+ translate("mem_buffered") or "",
+ 100 * memfree / memtotal,
+ translate("mem_free") or "")
+
+f:field(DummyValue, "_systime", translate("m_i_systemtime")).value =
+ os.date("%c")
+
+f:field(DummyValue, "_uptime", translate("m_i_uptime")).value =
+ luci.tools.webadmin.date_format(tonumber(uptime))
+
+
+m = Map("network", translate("interfaces"))
+local netstat = luci.sys.net.deviceinfo()
+
+m.parse = function() end
+
+s = m:section(TypedSection, "interface", "")
+s.template = "cbi/tblsection"
+
+function s.filter(self, section)
+ return section ~= "loopback" and section
+end
+
+hwaddr = s:option(DummyValue, "_hwaddr")
+function hwaddr.cfgvalue(self, section)
+ local ix = self.map:stateget(section, "ifname") or ""
+ return luci.fs.readfile("/sys/class/net/" .. ix .. "/address") or "n/a"
+end
+
+
+ipaddr = s:option(DummyValue, "ipaddr", translate("ipaddress"))
+ipaddr.stateful = true
+
+ipaddr = s:option(DummyValue, "netmask", translate("netmask"))
+ipaddr.stateful = true
+
+txrx = s:option(DummyValue, "_txrx")
+
+function txrx.cfgvalue(self, section)
+ local ix = self.map:stateget(section, "ifname")
+
+ local rx = netstat and netstat[ix] and netstat[ix][1]
+ rx = rx and luci.tools.webadmin.byte_format(tonumber(rx)) or "-"
+
+ local tx = netstat and netstat[ix] and netstat[ix][9]
+ tx = tx and luci.tools.webadmin.byte_format(tonumber(tx)) or "-"
+
+ return string.format("%s / %s", tx, rx)
+end
+
+errors = s:option(DummyValue, "_err")
+
+function errors.cfgvalue(self, section)
+ local ix = self.map:stateget(section, "ifname")
+
+ local rx = netstat and netstat[ix] and netstat[ix][3]
+ local tx = netstat and netstat[ix] and netstat[ix][11]
+
+ rx = rx and tostring(rx) or "-"
+ tx = tx and tostring(tx) or "-"
+
+ return string.format("%s / %s", tx, rx)
+end
+
+
+
+w2 = Template("mini/index2")
+return w, f, m, w2 \ No newline at end of file