From: Jo-Philipp Wich Date: Sat, 7 Apr 2012 23:38:53 +0000 (+0000) Subject: applications/luci-minidlna: add status output X-Git-Tag: 0.11.0~825 X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=3353616e61d46ca34bbfcb7825a1ffba492ee525 applications/luci-minidlna: add status output --- diff --git a/applications/luci-minidlna/luasrc/controller/minidlna.lua b/applications/luci-minidlna/luasrc/controller/minidlna.lua index 3444a3d66..c775bdd24 100644 --- a/applications/luci-minidlna/luasrc/controller/minidlna.lua +++ b/applications/luci-minidlna/luasrc/controller/minidlna.lua @@ -24,4 +24,37 @@ function index() page = entry({"admin", "services", "minidlna"}, cbi("minidlna"), _("miniDLNA")) page.i18n = "minidlna" page.dependent = true + + entry({"admin", "services", "minidlna_status"}, call("minidlna_status")) +end + +function minidlna_status() + local sys = require "luci.sys" + local uci = require "luci.model.uci".cursor() + local port = tonumber(uci:get_first("minidlna", "minidlna", "port")) + + local status = { + running = (sys.call("pidof minidlna >/dev/null") == 0), + audio = 0, + video = 0, + image = 0 + } + + if status.running then + local fd = sys.httpget("http://127.0.0.1:%d/" % (port or 8200), true) + if fd then + local ln + repeat + ln = fd:read("*l") + if ln and ln:match("files:") then + local ftype, fcount = ln:match("(.+) files: (%d+)") + status[ftype:lower()] = tonumber(fcount) or 0 + end + until not ln + fd:close() + end + end + + luci.http.prepare_content("application/json") + luci.http.write_json(status) end diff --git a/applications/luci-minidlna/luasrc/view/admin_status/index/minidlna.htm b/applications/luci-minidlna/luasrc/view/admin_status/index/minidlna.htm new file mode 100644 index 000000000..b2feeb2ef --- /dev/null +++ b/applications/luci-minidlna/luasrc/view/admin_status/index/minidlna.htm @@ -0,0 +1 @@ +<%+minidlna_status%> diff --git a/applications/luci-minidlna/luasrc/view/minidlna_status.htm b/applications/luci-minidlna/luasrc/view/minidlna_status.htm new file mode 100644 index 000000000..6808245ab --- /dev/null +++ b/applications/luci-minidlna/luasrc/view/minidlna_status.htm @@ -0,0 +1,29 @@ + + +
+ <%:miniDLNA Status%> +

+ <%:Collecting data...%> +

+