summaryrefslogtreecommitdiffstats
path: root/package/uci/trigger/apply_config
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-06-08 01:27:01 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-06-08 01:27:01 +0000
commit9aad34a95c6cc7d68e12cd7d3fc2436f3106e9c6 (patch)
tree4fab06af6a05bfcd3074477dbc97328a4250c063 /package/uci/trigger/apply_config
parent1232d185c64cae9795677bac29fc3a0b320f0ab9 (diff)
add ucitrigger: a uci plugin, command line tool and lua interface for automatically applying uci config changes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16375 3c298f89-4303-0410-b956-a3cf2f4a3e73
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 000000000..0d9c6cf15
--- /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