aboutsummaryrefslogtreecommitdiffstats
path: root/package/uci/trigger/apply_config
diff options
context:
space:
mode:
Diffstat (limited to 'package/uci/trigger/apply_config')
-rw-r--r--package/uci/trigger/apply_config44
1 files changed, 44 insertions, 0 deletions
diff --git a/package/uci/trigger/apply_config b/package/uci/trigger/apply_config
new file mode 100644
index 0000000000..0d9c6cf15e
--- /dev/null
+++ b/package/uci/trigger/apply_config
@@ -0,0 +1,44 @@
+#!/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