* luci/libs: further fixes in uvl cli and library
authorJo-Philipp Wich <jow@openwrt.org>
Sun, 17 Aug 2008 23:40:51 +0000 (23:40 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sun, 17 Aug 2008 23:40:51 +0000 (23:40 +0000)
libs/uvl/luasrc/uvl.lua
libs/uvl/root/usr/bin/uvl

index b3701b1..85962b4 100644 (file)
@@ -110,6 +110,10 @@ function UVL.validate_config( self, config )
        local co = self.uci.get_all( config )
        local sc = { }
 
+       if not co then
+               return false, 'Unable to load configuration "' .. config .. '"'
+       end
+
        local function _uci_foreach( type, func )
                local ok, err
                for k, v in pairs(co) do
@@ -179,6 +183,11 @@ function UVL.validate_section( self, config, section )
        self.beenthere = { }
 
        local co = self.uci.get_all( config )
+
+       if not co then
+               return false, 'Unable to load configuration "' .. config .. '"'
+       end
+
        if co[section] then
                return self:_validate_section( luci.uvl.section(
                        self, co, co[section]['.type'], config, section
@@ -208,6 +217,11 @@ function UVL.validate_option( self, config, section, option )
        self.beenthere = { }
 
        local co = self.uci.get_all( config )
+
+       if not co then
+               return false, 'Unable to load configuration "' .. config .. '"'
+       end
+
        if co[section] and co[section][option] then
                return self:_validate_option( luci.uvl.option(
                        self, co, co[section]['.type'], config, section, option
index 9fe3412..3f179ee 100755 (executable)
@@ -103,17 +103,17 @@ else
        local uvl = luci.uvl.UVL(
                type(options.schemedir) == "string" and options.schemedir or nil
        )
-       
+
        local cso = luci.util.split( arguments[1], "." )
        local ok, err = uvl:validate( unpack(cso) )
 
        if ok then
                if not options.silent then
                        print( string.format(
-                               '%s "%s.%s.%s" validates fine!',
+                               '%s "%s" validates fine!',
                                        ( #cso == 1 and "Config" or
                                                ( #cso == 2 and "Section" or "Option" ) ),
-                                       cso[1], cso[2], cso[3]
+                                       table.concat(cso, ".")
                        ) )
                end
                os.exit( 0 )