ucitrigger: add options to force enable/disable specific triggers
SVN-Revision: 16718
This commit is contained in:
@@ -253,6 +253,17 @@ function add(ts)
|
||||
end
|
||||
end
|
||||
|
||||
function save_trigger(name)
|
||||
if triggers.active[name] then
|
||||
local slist = get_names(triggers.active[name])
|
||||
if #slist > 0 then
|
||||
tctx:set("uci_trigger", name, "sections", slist)
|
||||
end
|
||||
else
|
||||
tctx:delete("uci_trigger", name)
|
||||
end
|
||||
end
|
||||
|
||||
function set(data, cursor)
|
||||
assert(data ~= nil)
|
||||
if cursor == nil then
|
||||
@@ -296,10 +307,7 @@ function set(data, cursor)
|
||||
if section[".name"] then
|
||||
active[section[".name"]] = true
|
||||
end
|
||||
local slist = get_names(triggers.active[t.id])
|
||||
if #slist > 0 then
|
||||
tctx:set("uci_trigger", t.id, "sections", slist)
|
||||
end
|
||||
save_trigger(t.id)
|
||||
end
|
||||
tctx:save("uci_trigger")
|
||||
end
|
||||
@@ -335,6 +343,46 @@ function get_active()
|
||||
return slist
|
||||
end
|
||||
|
||||
function set_active(trigger, sections)
|
||||
if triggers == nil then
|
||||
load_state()
|
||||
end
|
||||
if not triggers.list[trigger] then
|
||||
return
|
||||
end
|
||||
if triggers.active[trigger] == nil then
|
||||
tctx:set("uci_trigger", trigger, "trigger")
|
||||
triggers.active[trigger] = {}
|
||||
end
|
||||
local active = triggers.active[trigger]
|
||||
if triggers.list[trigger].section_only or sections ~= nil then
|
||||
for i, t in ipairs(sections) do
|
||||
triggers.active[trigger][t] = true
|
||||
end
|
||||
end
|
||||
save_trigger(trigger)
|
||||
tctx:save("uci_trigger")
|
||||
end
|
||||
|
||||
function clear_active(trigger, sections)
|
||||
if triggers == nil then
|
||||
load_state()
|
||||
end
|
||||
if triggers.list[trigger] == nil or triggers.active[trigger] == nil then
|
||||
return
|
||||
end
|
||||
local active = triggers.active[trigger]
|
||||
if not triggers.list[trigger].section_only or sections == nil then
|
||||
triggers.active[trigger] = nil
|
||||
else
|
||||
for i, t in ipairs(sections) do
|
||||
triggers.active[trigger][t] = false
|
||||
end
|
||||
end
|
||||
save_trigger(trigger)
|
||||
tctx:save("uci_trigger")
|
||||
end
|
||||
|
||||
function run(ts)
|
||||
if ts == nil then
|
||||
ts = get_active()
|
||||
|
||||
Reference in New Issue
Block a user