small-package/luci-app-lucky/luasrc/controller/lucky.lua

55 lines
1.6 KiB
Lua

-- Copyright (C) 2021-2022 sirpdboy <herboy2008@gmail.com> https://github.com/sirpdboy/luci-app-lucky
-- Licensed to the public under the Apache License 2.0.
local SYS = require "luci.sys"
module("luci.controller.lucky", package.seeall)
function index()
local e=entry({"admin", "services", "lucky"}, alias("admin", "services", "lucky", "setting"),_("Lucky"), 57)
e.dependent=false
e.acl_depends={ "luci-app-lucky" }
entry({"admin", "services", "lucky", "setting"}, cbi("lucky"), _("Base Setting"), 20).leaf=true
entry({"admin", "services", "lucky", "lucky"}, template("lucky"), _("Lucky Control panel"), 30).leaf = true
entry({"admin", "services", "lucky_status"}, call("lucky_status"))
entry({"admin", "services", "lucky_config"}, call("lucky_config"))
end
function lucky_config()
local e = { }
local luckyInfo = SYS.exec("/usr/bin/lucky -info")
if (luckyInfo~=nil)
then
local configObj = ConfigureObj()
if (configObj~=nil)
then
e.BaseConfigure = configObj["BaseConfigure"]
end
end
e.luckyArch = SYS.exec("/usr/bin/luckyarch")
luci.http.prepare_content("application/json")
luci.http.write_json(e)
end
function lucky_status()
local e = { }
e.status = SYS.call("pgrep -f 'lucky -c' >/dev/null") == 0
luci.http.prepare_content("application/json")
luci.http.write_json(e)
end
function trim(s)
return (string.gsub(s, "^%s*(.-)%s*$", "%1"))
end
function ConfigureObj()
configPath = trim(luci.sys.exec("uci get lucky.@lucky[0].configdir"))
local configContent = luci.sys.exec("lucky -baseConfInfo -cd "..configPath)
configObj = luci.jsonc.parse(trim(configContent))
return configObj
end