diff options
author | Jo-Philipp Wich <jo@mein.io> | 2018-04-24 19:22:55 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2018-04-24 19:22:55 +0200 |
commit | 11f4a50b3f009a665b02564d0ceab133a1772831 (patch) | |
tree | 69e468d51988c8f4957ea5b3ffbc194f0be02145 /modules | |
parent | 914c661b58fc7e2dede1b9b4f83544b05232065c (diff) |
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>
Diffstat (limited to 'modules')
-rw-r--r-- | modules/luci-base/luasrc/util.lua | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/modules/luci-base/luasrc/util.lua b/modules/luci-base/luasrc/util.lua index f47d3e53a..ce42af2fb 100644 --- a/modules/luci-base/luasrc/util.lua +++ b/modules/luci-base/luasrc/util.lua @@ -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 |