X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=build%2Fcbi2uvl.lua;h=7fe8ef5744e1057f5e63149a9f765c1bbaced856;hp=9207bf816f1910f1c61393d5c5ec9e42dbce3029;hb=c024eca0fc232957077038dbdda0d630a11b4484;hpb=ed7362eed37d2b896fbde7193d1106b93c0afe21 diff --git a/build/cbi2uvl.lua b/build/cbi2uvl.lua index 9207bf816..7fe8ef574 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" @@ -8,14 +23,21 @@ if not arg[1] then os.exit(1) end -i18n.load("default", "en") -i18n.load("admin-core", "en") -i18n.load("wifi", "en") +i18n.load("base", "en") 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,51 +52,51 @@ 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 type boolean") + print (" option datatype boolean") elseif util.instanceof(opt, cbi.DynamicList) then print (" option type list") elseif util.instanceof(opt, cbi.ListValue) then @@ -82,20 +104,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") @@ -108,4 +130,4 @@ for i, sec in pairs(map.children) do if util.instanceof(sec, cbi.TypedSection) t end end end -end end \ No newline at end of file +end end