From 3353616e61d46ca34bbfcb7825a1ffba492ee525 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sat, 7 Apr 2012 23:38:53 +0000 Subject: applications/luci-minidlna: add status output --- .../luci-minidlna/luasrc/controller/minidlna.lua | 33 ++++++++++++++++++++++ .../luasrc/view/admin_status/index/minidlna.htm | 1 + .../luci-minidlna/luasrc/view/minidlna_status.htm | 29 +++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 applications/luci-minidlna/luasrc/view/admin_status/index/minidlna.htm create mode 100644 applications/luci-minidlna/luasrc/view/minidlna_status.htm 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...%> +

+
-- cgit v1.2.3