#!/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(" -C [
]: force clear a trigger") print(" -S [
]: force set a trigger") 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() elseif arg[1] == "-S" then local trigger = arg[2] local section = arg[3] uci.trigger.set_active(trigger, section) elseif arg[1] == "-C" then local trigger = arg[2] local section = arg[3] uci.trigger.clear_active(trigger, section) else usage() end