55 lines
1.6 KiB
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
|
|
|