projects
/
project
/
luci.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
luci-base: additionally return error code strings in luci.util.ubus()
[project/luci.git]
/
modules
/
luci-base
/
luasrc
/
util.lua
diff --git
a/modules/luci-base/luasrc/util.lua
b/modules/luci-base/luasrc/util.lua
index
f47d3e5
..
ce42af2
100644
(file)
--- a/
modules/luci-base/luasrc/util.lua
+++ b/
modules/luci-base/luasrc/util.lua
@@
-631,6
+631,20
@@
function execl(command)
return data
end
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()
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
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
elseif object then
return _ubus_connection:signatures(object)
else