openwrt/package/uci/trigger/apply_config

45 lines
1.0 KiB
Lua

#!/usr/bin/lua
require("uci")
require("uci.trigger")
function usage()
print("Usage: " .. arg[0] .. " [options]")
print("Options:")
print(" -a: apply the config changes")
print(" -t: show matching UCI triggers")
print(" -s: show information about tasks to be executed")
print(" -r: reset all triggers")
print("")
end
if arg[1] == "-s" then
local triggers = uci.trigger.get_active()
if #triggers > 0 then
print("Tasks:")
for i, a in ipairs(triggers) do
local trigger = a[1]
local sections = a[2]
print(" - " .. uci.trigger.get_description(trigger, sections))
end
else
print "Nothing to do"
end
elseif arg[1] == "-t" then
local triggers = uci.trigger.get_active()
for i, a in ipairs(triggers) do
local trigger = a[1]
local sections = a[2]
if trigger.section_only then
print(trigger.id .. " " .. table.concat(" ", sections))
else
print(trigger.id)
end
end
elseif arg[1] == "-a" then
uci.trigger.run()
elseif arg[1] == "-r" then
uci.trigger.reset_state()
else
usage()
end