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
|
||||
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)
|
||||
if not _ubus_connection then
|
||||
_ubus_connection = _ubus.connect()
|
||||
|
@ -641,7 +655,8 @@ function ubus(object, method, data)
|
|||
if type(data) ~= "table" then
|
||||
data = { }
|
||||
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
|
||||
return _ubus_connection:signatures(object)
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue