aboutsummaryrefslogtreecommitdiffstats
path: root/package/uci/trigger/apply_config
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-06-08 01:27:01 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-06-08 01:27:01 +0000
commit29c41ba2acb6f8b13f7b43de1b3e19ef1af52815 (patch)
tree4fab06af6a05bfcd3074477dbc97328a4250c063 /package/uci/trigger/apply_config
parent28e44dbadb0172c83326e10daab228ac676f26ce (diff)
downloadupstream-29c41ba2acb6f8b13f7b43de1b3e19ef1af52815.tar.gz
upstream-29c41ba2acb6f8b13f7b43de1b3e19ef1af52815.tar.bz2
upstream-29c41ba2acb6f8b13f7b43de1b3e19ef1af52815.zip
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 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