luci-base: implement luci.model.uci.get_state()
authorJo-Philipp Wich <jo@mein.io>
Fri, 6 Apr 2018 07:24:36 +0000 (09:24 +0200)
committerJo-Philipp Wich <jo@mein.io>
Fri, 6 Apr 2018 07:24:36 +0000 (09:24 +0200)
Introduce a get_state() function which can be used to access legacy
uci state variables. This is usually not needed anymore but some
packages (mainly mwan3) still rely on this.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/luasrc/model/uci.lua

index bbd9b4c..7e1c8f5 100644 (file)
@@ -182,11 +182,11 @@ function foreach(self, config, stype, callback)
        end
 end
 
        end
 end
 
-function get(self, config, section, option)
+local function _get(self, operation, config, section, option)
        if section == nil then
                return nil
        elseif type(option) == "string" and option:byte(1) ~= 46 then
        if section == nil then
                return nil
        elseif type(option) == "string" and option:byte(1) ~= 46 then
-               local rv, err = util.ubus("uci", "get", {
+               local rv, err = util.ubus("uci", operation, {
                        config  = config,
                        section = section,
                        option  = option
                        config  = config,
                        section = section,
                        option  = option
@@ -211,6 +211,14 @@ function get(self, config, section, option)
        end
 end
 
        end
 end
 
+function get(self, ...)
+       return _get(self, "get", ...)
+end
+
+function get_state(self, ...)
+       return _get(self, "state", ...)
+end
+
 function get_all(self, config, section)
        local rv, err = util.ubus("uci", "get", {
                config  = config,
 function get_all(self, config, section)
        local rv, err = util.ubus("uci", "get", {
                config  = config,