luci-base: additionally return error code strings in luci.util.ubus()
Add a 3rd return value to luci.util.ubus() containing the string value of the error return value. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
914c661b58
commit
11f4a50b3f
1 changed files with 16 additions and 1 deletions
|
@ -631,6 +631,20 @@ function execl(command)
|
||||||
return data
|
return data
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local ubus_codes = {
|
||||||
|
"INVALID_COMMAND",
|
||||||
|
"INVALID_ARGUMENT",
|
||||||
|
"METHOD_NOT_FOUND",
|
||||||
|
"NOT_FOUND",
|
||||||
|
"NO_DATA",
|
||||||
|
"PERMISSION_DENIED",
|
||||||
|
"TIMEOUT",
|
||||||
|
"NOT_SUPPORTED",
|
||||||
|
"UNKNOWN_ERROR",
|
||||||
|
"CONNECTION_FAILED"
|
||||||
|
}
|
||||||
|
|
||||||
function ubus(object, method, data)
|
function ubus(object, method, data)
|
||||||
if not _ubus_connection then
|
if not _ubus_connection then
|
||||||
_ubus_connection = _ubus.connect()
|
_ubus_connection = _ubus.connect()
|
||||||
|
@ -641,7 +655,8 @@ function ubus(object, method, data)
|
||||||
if type(data) ~= "table" then
|
if type(data) ~= "table" then
|
||||||
data = { }
|
data = { }
|
||||||
end
|
end
|
||||||
return _ubus_connection:call(object, method, data)
|
local rv, err = _ubus_connection:call(object, method, data)
|
||||||
|
return rv, err, ubus_codes[err]
|
||||||
elseif object then
|
elseif object then
|
||||||
return _ubus_connection:signatures(object)
|
return _ubus_connection:signatures(object)
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue