* libs/luci: implement get_list() and set_list() wrappers in luci.model.uci

This commit is contained in:
Jo-Philipp Wich 2008-08-18 18:06:49 +00:00
parent c82392c6f2
commit 6802546621

View file

@ -12,9 +12,9 @@ Copyright 2008 Steven Barth <steven@midlink.org>
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
You may obtain a copy of the License at You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
@ -49,9 +49,9 @@ function delete_all(config, type, comparator)
table.insert(del, section[".name"]) table.insert(del, section[".name"])
end end
end end
foreach(config, type, helper) foreach(config, type, helper)
for i, j in ipairs(del) do for i, j in ipairs(del) do
delete(config, j) delete(config, j)
end end
@ -71,11 +71,11 @@ function section(config, type, name, values)
name = add(config, type) name = add(config, type)
stat = name and true stat = name and true
end end
if stat and values then if stat and values then
stat = tset(config, name, values) stat = tset(config, name, values)
end end
return stat and name return stat and name
end end
@ -135,6 +135,36 @@ function tset(config, section, values)
return stat return stat
end end
--- Get an option or list and return values as table.
-- @param config UCI config
-- @param section UCI section name
-- @param option UCI option
-- @return UCI value
function get_list(config, section, option)
if config and section and option then
local val = get(config, section, option)
return ( type(val) == "table" and val or { val } )
end
return nil
end
--- Set given values as list.
-- Warning: This function is unsave! You should use save_config or save_state if possible.
-- @param config UCI config
-- @param section UCI section name
-- @param option UCI option
-- @param value UCI value
-- @return Boolean whether operation succeeded
function set_list(config, section, option, value)
if config and section and option then
return set(
config, section, option,
( type(value) == "table" and value or { value } )
)
end
return false
end
--- Add an anonymous section. --- Add an anonymous section.
-- @class function -- @class function