libs/cbi: fix error reporting in map loading

This commit is contained in:
Jo-Philipp Wich 2009-07-31 00:13:24 +00:00
parent 45d9fe0b16
commit f311d13ca1

View file

@ -60,17 +60,18 @@ function load(cbimap, ...)
local upldir = "/lib/uci/upload/"
local cbidir = luci.util.libpath() .. "/model/cbi/"
local func, err
assert(fs.stat(cbimap) or
fs.stat(cbidir..cbimap..".lua") or
fs.stat(cbidir..cbimap..".lua.gz"),
"Model not found!")
local func, err = loadfile(cbimap)
if not func then
func, err = loadfile(cbidir..cbimap..".lua") or
loadfile(cbidir..cbimap..".lua.gz")
if fs.access(cbimap) then
func, err = loadfile(cbimap)
elseif fs.access(cbidir..cbimap..".lua") then
func, err = loadfile(cbidir..cbimap..".lua")
elseif fs.access(cbidir..cbimap..".lua.gz") then
func, err = loadfile(cbidir..cbimap..".lua.gz")
else
func, err = nil, "Model '" .. cbimap .. "' not found!"
end
assert(func, err)
luci.i18n.loadc("cbi")