X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=build%2Fcbi2uvl.lua;h=e1d0c150d4acd35df925f2f20a4c0407fa9905b2;hb=8fcd841aa9af96c8a4a4d3c1a555d2d1ed42332c;hp=83d3b4cb614a1207bc0fcb08bc7fdf2d33208c3f;hpb=d25d58bb4af9696ca6f9c16a36791bb072bfc891;p=project%2Fluci.git diff --git a/build/cbi2uvl.lua b/build/cbi2uvl.lua index 83d3b4cb6..e1d0c150d 100755 --- a/build/cbi2uvl.lua +++ b/build/cbi2uvl.lua @@ -1,4 +1,19 @@ #!/usr/bin/lua +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth +Copyright 2008 Jo-Philipp Wich + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id: index.lua 3548 2008-10-09 20:28:07Z Cyrus $ +]]-- + local cbi = require "luci.cbi" local i18n = require "luci.i18n" local util = require "luci.util" @@ -16,6 +31,15 @@ if arg[2] then i18n.load(arg[2], "en") end +if arg[3] then + pcall(function() + require "uci" + require "luci.model.uci".cursor = function(config, save) + return uci.cursor(config or arg[3] .. "/etc/config", save or arg[3] .. "/tmp/.uci") + end + end) +end + local map = cbi.load(arg[1])[1] assert(map) @@ -30,49 +54,49 @@ if #map.description > 0 then print (" option description '%s'" % util.striptags(map.description)) end -for i, sec in pairs(map.children) do if util.instanceof(sec, cbi.TypedSection) then +for i, sec in pairs(map.children) do if util.instanceof(sec, cbi.AbstractSection) then print ("\nconfig section") print (" option name '%s'" % sec.sectiontype) print (" option package '%s'" % map.config) - + if #sec.title > 0 then print (" option title '%s'" % util.striptags(sec.title)) end - + if #sec.description > 0 then print (" option description '%s'" % util.striptags(sec.description)) end - + if not sec.addremove then print (" option unique true") print (" option required true") end - + if not sec.anonymous then print (" option named true") end - + if sec.dynamic then print (" option dynamic true") end - + for j, opt in ipairs(sec.children) do - if opt.option:sub(1,1) ~= "_" or util.instanceof(opt, cbi.Value) then + if opt.option:sub(1,1) ~= "_" or util.instanceof(opt, cbi.Value) then print ("\nconfig variable") print (" option name '%s'" % opt.option) print (" option section '%s.%s'" % {map.config, sec.sectiontype}) if #opt.title > 0 then print (" option title '%s'" % util.striptags(opt.title)) end - + if #opt.description > 0 then print (" option description '%s'" % util.striptags(opt.description)) end - + if not opt.rmempty and not opt.optional then print (" option required true") end - + if util.instanceof(opt, cbi.Flag) then print (" option datatype boolean") elseif util.instanceof(opt, cbi.DynamicList) then @@ -82,20 +106,20 @@ for i, sec in pairs(map.children) do if util.instanceof(sec, cbi.TypedSection) t util.perror("*** Warning: Please verify '%s.%s.%s' ***" % {map.config, sec.sectiontype, opt.option} ) end - + for i, dep in ipairs(opt.deps) do if not dep.add or dep.add == "" then local depstring for k, v in pairs(dep.deps) do depstring = (depstring and depstring .. "," or "") .. "%s=%s" % {k, v} - end + end print (" list depends '%s'" % depstring) else util.perror("*** Warning: Unable to decode dependency '%s' in '%s.%s.%s[%s]' ***" % {util.serialize_data(dep.deps), map.config, sec.sectiontype, opt.option, dep.add}) end end - + if util.instanceof(opt, cbi.ListValue) then for k, key in ipairs(opt.keylist) do print ("\nconfig enum")