diff --git a/ngcp/.luacheckrc b/ngcp/.luacheckrc index 80ee3c9..cd11ffc 100644 --- a/ngcp/.luacheckrc +++ b/ngcp/.luacheckrc @@ -1 +1,2 @@ globals = {'sr', '_ENV'} +ignore = { 'NGCP.*', '212' } \ No newline at end of file diff --git a/ngcp/avp.lua b/ngcp/avp.lua index 0cba854..63eec83 100644 --- a/ngcp/avp.lua +++ b/ngcp/avp.lua @@ -27,20 +27,17 @@ NGCPAvp_MT = { function NGCPAvp:new(id) local t = { id = "$avp(s:" .. id .. ")" } - NGCPAvp_MT.__call = function(t, value) + NGCPAvp_MT.__call = function(s, value) if not value then - --print(table.tostring(sr.pv.vars)) - --print(t.id) - return sr.pv.get(t.id) + return sr.pv.get(s.id) elseif type(value) == "table" then - local i, v for i = #value, 1, -1 do - t(value[i]) + s(value[i]) end elseif type(value) == "number" then - sr.pv.seti(t.id, value) + sr.pv.seti(s.id, value) elseif type(value) == "string" then - sr.pv.sets(t.id, value) + sr.pv.sets(s.id, value) else error("value is not a number or string") end @@ -48,9 +45,9 @@ NGCPAvp_MT = { function t.all() return sr.pv.get("$(avp(" .. id .. ")[*])") end - NGCPAvp_MT.__tostring = function(t) - local value = sr.pv.get(t.id) - return string.format("%s:%s", t.id, tostring(value)) + NGCPAvp_MT.__tostring = function(s) + local value = sr.pv.get(s.id) + return string.format("%s:%s", s.id, tostring(value)) end return setmetatable( t, NGCPAvp_MT ) end diff --git a/ngcp/config.lua b/ngcp/config.lua index f66207e..d533e8f 100644 --- a/ngcp/config.lua +++ b/ngcp/config.lua @@ -20,6 +20,7 @@ -- load drivers local driver = require "luasql.mysql" +-- luacheck: ignore luasql if not luasql then luasql = driver end @@ -77,8 +78,8 @@ NGCPConfig_MT = { __index = NGCPConfig } local function check_connection(c) local cur = c:execute("SELECT 1") - local row = cur:fetch() local result = false + cur:fetch() if cur:numrows() == 1 then result = true end @@ -91,7 +92,7 @@ NGCPConfig_MT = { __index = NGCPConfig } self.env = assert (luasql.mysql()) end if self.con then - local ok,err = pcall(check_connection, self.con) + local ok,_ = pcall(check_connection, self.con) if not ok then self.con = nil sr.log("dbg", "lost database connection. Reconnecting") @@ -106,7 +107,6 @@ NGCPConfig_MT = { __index = NGCPConfig } end function NGCPConfig:get_defaults(vtype) - local k,v local defs = {} if self.default[vtype] then diff --git a/ngcp/cp.lua b/ngcp/cp.lua index 62c7e31..22bbf53 100644 --- a/ngcp/cp.lua +++ b/ngcp/cp.lua @@ -27,7 +27,7 @@ NGCPContractPrefs = { NGCPContractPrefs_MT = { __index = NGCPContractPrefs } NGCPContractPrefs_MT.__tostring = function () - local output = '' + local output local xavp = NGCPXAvp:new('caller','contract_prefs') output = string.format("caller_contract_prefs:%s\n", tostring(xavp)) xavp = NGCPXAvp:new('callee','contract_prefs') @@ -59,10 +59,9 @@ NGCPContractPrefs_MT.__tostring = function () return NGCPContractPrefs._load(self,"callee",contract) end - function NGCPContractPrefs:_defaults(level) + function NGCPContractPrefs:_defaults(_) local defaults = self.config:get_defaults('contract') local keys = {} - local k,_ if defaults then for k,_ in pairs(defaults) do @@ -80,7 +79,6 @@ NGCPContractPrefs_MT.__tostring = function () local keys local result = {} local row = cur:fetch({}, "a") - local k,v local xavp keys, defaults = self:_defaults(level) diff --git a/ngcp/dlgcnt.lua b/ngcp/dlgcnt.lua index 159b10f..3816ddb 100644 --- a/ngcp/dlgcnt.lua +++ b/ngcp/dlgcnt.lua @@ -63,7 +63,7 @@ end function NGCPDlgCounters._test_connection(client) if not client then return nil end - local ok, err = pcall(client.ping, client); + local ok, _ = pcall(client.ping, client); return ok end diff --git a/ngcp/dlglist.lua b/ngcp/dlglist.lua index d1c4b8b..d4c388d 100644 --- a/ngcp/dlglist.lua +++ b/ngcp/dlglist.lua @@ -63,7 +63,7 @@ end local function _test_connection(client) if not client then return nil end - local ok, err = pcall(client.ping, client); + local ok, _ = pcall(client.ping, client); return ok end diff --git a/ngcp/dp.lua b/ngcp/dp.lua index f01a7d6..85b3498 100644 --- a/ngcp/dp.lua +++ b/ngcp/dp.lua @@ -27,9 +27,8 @@ NGCPDomainPrefs = { NGCPDomainPrefs_MT = { __index = NGCPDomainPrefs } NGCPDomainPrefs_MT.__tostring = function () - local output = '' local xavp = NGCPXAvp:new('caller','dom_prefs') - output = string.format("caller_dom_prefs:%s\n", tostring(xavp)) + local output = string.format("caller_dom_prefs:%s\n", tostring(xavp)) xavp = NGCPXAvp:new('callee','dom_prefs') output = output .. string.format("callee_dom_prefs:%s\n", tostring(xavp)) return output @@ -62,7 +61,6 @@ NGCPDomainPrefs_MT.__tostring = function () function NGCPDomainPrefs:_defaults(level) local defaults = self.config:get_defaults('dom') local keys = {} - local k,_ if defaults then for k,_ in pairs(defaults) do @@ -80,7 +78,6 @@ NGCPDomainPrefs_MT.__tostring = function () local keys local result = {} local row = cur:fetch({}, "a") - local k,v local xavp keys, defaults = self:_defaults(level) diff --git a/ngcp/ngcp.lua b/ngcp/ngcp.lua index 8b7d37b..504dfbf 100644 --- a/ngcp/ngcp.lua +++ b/ngcp/ngcp.lua @@ -32,9 +32,8 @@ NGCP = { NGCP_MT = { __index = NGCP } NGCP_MT.__tostring = function (t) - local k,v - output = '' - for k,v in pairs(t.prefs) do + local output = '' + for _,v in pairs(t.prefs) do output = output .. tostring(v) end return output @@ -62,7 +61,6 @@ end end function NGCP:caller_contract_load(contract) - local _,v, xvap local keys = self.prefs.contract:caller_load(contract) self.prefs.real:caller_contract_load(keys) @@ -70,7 +68,6 @@ end end function NGCP:callee_contract_load(contract) - local _,v, xvap local keys = self.prefs.contract:callee_load(contract) self.prefs.real:callee_contract_load(keys) @@ -78,7 +75,6 @@ end end function NGCP:caller_peer_load(peer) - local _,v, xvap local keys = self.prefs.peer:caller_load(peer) self.prefs.real:caller_peer_load(keys) @@ -86,7 +82,6 @@ end end function NGCP:callee_peer_load(peer) - local _,v, xvap local keys = self.prefs.peer:callee_load(peer) self.prefs.real:callee_peer_load(keys) @@ -94,7 +89,6 @@ end end function NGCP:caller_usr_load(uuid, domain) - local _,v local keys = { domain = self.prefs.dom:caller_load(domain), prof = self.prefs.prof:caller_load(uuid), @@ -105,13 +99,12 @@ end table.merge(unique_keys, keys.user) self.prefs.real:caller_usr_load(unique_keys) - local xavp = NGCPXAvp:new('caller', 'dom') + NGCPXAvp:new('caller', 'dom') return unique_keys end function NGCP:callee_usr_load(uuid, domain) - local _,v local keys = { domain = self.prefs.dom:callee_load(domain), prof = self.prefs.prof:callee_load(uuid), @@ -127,7 +120,7 @@ end end function NGCP:log_pref(level, vtype) - local _,pref,xavp,xavp_log + local xavp,xavp_log if not level then level = "dbg" @@ -157,9 +150,8 @@ end end function NGCP:clean(vtype, group) - local _,k,v if not group then - for k,v in pairs(self.prefs) do + for _,v in pairs(self.prefs) do v:clean(vtype) end else diff --git a/ngcp/pp.lua b/ngcp/pp.lua index 8228567..9f4b318 100644 --- a/ngcp/pp.lua +++ b/ngcp/pp.lua @@ -27,9 +27,8 @@ NGCPPeerPrefs = { NGCPPeerPrefs_MT = { __index = NGCPPeerPrefs } NGCPPeerPrefs_MT.__tostring = function () - local output = '' local xavp = NGCPXAvp:new('caller','peer_prefs') - output = string.format("caller_peer_prefs:%s\n", tostring(xavp)) + local output = string.format("caller_peer_prefs:%s\n", tostring(xavp)) xavp = NGCPXAvp:new('callee','peer_prefs') output = output .. string.format("callee_peer_prefs:%s\n", tostring(xavp)) return output @@ -64,10 +63,9 @@ NGCPPeerPrefs_MT.__tostring = function () function NGCPPeerPrefs:_defaults(level) local defaults = self.config:get_defaults('peer') local keys = {} - local k,_ if defaults then - for k,v in pairs(defaults) do + for k,_ in pairs(defaults) do table.insert(keys, k) end end @@ -82,7 +80,6 @@ NGCPPeerPrefs_MT.__tostring = function () local keys local result = {} local row = cur:fetch({}, "a") - local k,v local xavp keys, defaults = self:_defaults(level) diff --git a/ngcp/pprof.lua b/ngcp/pprof.lua index 32d1860..1223330 100644 --- a/ngcp/pprof.lua +++ b/ngcp/pprof.lua @@ -28,9 +28,8 @@ NGCPProfilePrefs = { NGCPProfilePrefs_MT = { __index = NGCPProfilePrefs } NGCPProfilePrefs_MT.__tostring = function () - local output = '' local xavp = NGCPXAvp:new('caller','prof_prefs') - output = string.format("caller_prof_prefs:%s\n", tostring(xavp)) + local output = string.format("caller_prof_prefs:%s\n", tostring(xavp)) xavp = NGCPXAvp:new('callee','prof_prefs') output = output .. string.format("callee_prof_prefs:%s\n", tostring(xavp)) return output @@ -70,8 +69,6 @@ NGCPProfilePrefs_MT.__tostring = function () local keys = {} local result = {} local row = cur:fetch({}, "a") - local k,v - local xavp if table.size(row) > 0 then while table.size(row) > 0 do @@ -85,7 +82,7 @@ NGCPProfilePrefs_MT.__tostring = function () end cur:close() if table.size(result) > 0 then - xavp = self:xavp(level, result) + self:xavp(level, result) end return keys end diff --git a/ngcp/pref.lua b/ngcp/pref.lua index f3f3504..614761a 100644 --- a/ngcp/pref.lua +++ b/ngcp/pref.lua @@ -27,10 +27,9 @@ NGCPPrefs = { NGCPPrefs_MT = { __index = NGCPPrefs } function NGCPPrefs.init(group) - local _,v, xavp local levels = {"caller", "callee"} for _,v in pairs(levels) do - xavp = NGCPXAvp.init(v,group) + NGCPXAvp.init(v,group) end end -- class diff --git a/ngcp/rp.lua b/ngcp/rp.lua index 10426d5..baf01cc 100644 --- a/ngcp/rp.lua +++ b/ngcp/rp.lua @@ -31,9 +31,8 @@ NGCPRealPrefs = { NGCPRealPrefs_MT = { __index = NGCPRealPrefs } NGCPRealPrefs_MT.__tostring = function () - local output = '' local xavp = NGCPXAvp:new('caller','real_prefs') - output = string.format("caller_real_prefs:%s\n", tostring(xavp)) + local output = string.format("caller_real_prefs:%s\n", tostring(xavp)) xavp = NGCPXAvp:new('callee','real_prefs') output = output .. string.format("callee_real_prefs:%s\n", tostring(xavp)) return output @@ -71,7 +70,6 @@ NGCPRealPrefs_MT.__tostring = function () end function NGCPRealPrefs:_contract_load(level, keys) - local _,v local xavp = { contract = NGCPContractPrefs:xavp(level), } @@ -87,7 +85,6 @@ NGCPRealPrefs_MT.__tostring = function () end function NGCPRealPrefs:_peer_load(level, keys) - local _,v local xavp = { peer = NGCPPeerPrefs:xavp(level), } @@ -103,7 +100,6 @@ NGCPRealPrefs_MT.__tostring = function () end function NGCPRealPrefs:_usr_load(level, keys) - local _,v,k local xavp = { real = NGCPRealPrefs:xavp(level), dom = NGCPDomainPrefs:xavp(level), diff --git a/ngcp/up.lua b/ngcp/up.lua index 2778513..3a94810 100644 --- a/ngcp/up.lua +++ b/ngcp/up.lua @@ -27,9 +27,8 @@ NGCPUserPrefs = { NGCPUserPrefs_MT = { __index = NGCPUserPrefs } NGCPUserPrefs_MT.__tostring = function () - local output = '' local xavp = NGCPXAvp:new('caller','usr_prefs') - output = string.format("caller_usr_prefs:%s\n", tostring(xavp)) + local output = string.format("caller_usr_prefs:%s\n", tostring(xavp)) xavp = NGCPXAvp:new('callee','usr_prefs') output = output .. string.format("callee_usr_prefs:%s\n", tostring(xavp)) return output @@ -62,10 +61,9 @@ NGCPUserPrefs_MT.__tostring = function () function NGCPUserPrefs:_defaults(level) local defaults = self.config:get_defaults('usr') local keys = {} - local k,_ if defaults then - for k,v in pairs(defaults) do + for k,_ in pairs(defaults) do table.insert(keys, k) end end @@ -81,7 +79,6 @@ NGCPUserPrefs_MT.__tostring = function () local keys local result = {} local row = cur:fetch({}, "a") - local k,v local xavp keys, defaults = self:_defaults(level) diff --git a/ngcp/utils.lua b/ngcp/utils.lua index 342a7cd..c0282b6 100644 --- a/ngcp/utils.lua +++ b/ngcp/utils.lua @@ -19,6 +19,7 @@ -- -- Lua utils +-- luacheck: globals math table string -- improving the built-in pseudorandom generator -- http://lua-users.org/wiki/MathLibraryTutorial do @@ -41,18 +42,18 @@ end -- copy a table function table.deepcopy(object) local lookup_table = {} - local function _copy(object) - if type(object) ~= "table" then - return object - elseif lookup_table[object] then - return lookup_table[object] + local function _copy(obj) + if type(obj) ~= "table" then + return obj + elseif lookup_table[obj] then + return lookup_table[obj] end local new_table = {} - lookup_table[object] = new_table - for index, value in pairs(object) do + lookup_table[obj] = new_table + for index, value in pairs(obj) do new_table[_copy(index)] = _copy(value) end - return setmetatable(new_table, getmetatable(object)) + return setmetatable(new_table, getmetatable(obj)) end return _copy(object) end @@ -76,7 +77,7 @@ function table.add(t, element) end function table.del(t, element) - local _,v,i + local i local pos = {} if t then @@ -107,8 +108,7 @@ end function table.size(t) if t then local c = 0 - local _,v - for _,v in pairs(t) do + for _ in pairs(t) do c = c + 1 end return c @@ -162,6 +162,7 @@ function table.shuffle(tab) return res end +-- luacheck: ignore range -- range(start) returns an iterator from 1 to a (step = 1) -- range(start, stop) returns an iterator from a to b (step = 1) -- range(start, stop, step) returns an iterator from a to b, counting by step. @@ -185,17 +186,16 @@ range = function (i, to, inc) end function table.shift(t, position) - local k, v local res = {} local p = position % #t if p == 0 then return end for k in range(1, p) do - v = table.remove(t, k-#res) + local v = table.remove(t, k-#res) table.insert(res, v) end - for _,v in ipairs(res) do - table.insert(t, v) + for _,_v in ipairs(res) do + table.insert(t, _v) end end @@ -205,6 +205,7 @@ end -- "'a','b'" -- implode("#",t) -- "a#b" +-- luacheck: ignore implode explode function implode(delimiter, list, quoter) local len = #list if not delimiter then @@ -265,6 +266,7 @@ end -- Lua 5.1 compatible -- GLOBAL +-- luacheck: ignore Stack.* Stack = { __class__ = 'Stack' } @@ -308,14 +310,15 @@ Stack_MT = { end -- pop a value from the stack - function Stack:pop(num) + function Stack:pop(n) -- get num values from stack - local num = num or 1 + local num = n or 1 -- return table local entries = {} -- get values into entries + -- luacheck: ignore i for i = 1, num do -- get last entry if #self._et ~= 0 then diff --git a/ngcp/xavp.lua b/ngcp/xavp.lua index 3578cb0..96aafc5 100644 --- a/ngcp/xavp.lua +++ b/ngcp/xavp.lua @@ -28,27 +28,26 @@ NGCPXAvp_MT = { } function NGCPXAvp:new(level,group,l) local t = NGCPXAvp.init(level,group,l) - NGCPXAvp_MT.__call = function(t, key, value) + NGCPXAvp_MT.__call = function(s, key, value) if not key then error("key is empty") end - local id = string.format("$xavp(%s[0]=>%s)", t.name, key) + local id = string.format("$xavp(%s[0]=>%s)", s.name, key) --print(string.format("id:%s", id)) if not value then return sr.pv.get(id) elseif type(value) == "number" then - table.add(t.keys, key) + table.add(s.keys, key) --sr.log("dbg", string.format("seti: [%s]:%d", id, value)) sr.pv.seti(id, value) elseif type(value) == "string" then - table.add(t.keys, key) + table.add(s.keys, key) --sr.log("dbg", string.format("sets: [%s]:%s", id, value)) sr.pv.sets(id, value) elseif type(value) == "table" then - table.add(t.keys, key) - local i, v + table.add(s.keys, key) for i = #value, 1, -1 do - v = value[i] + local v = value[i] if type(v) == "number" then sr.pv.seti(id, v) elseif type(v) == "string" then @@ -61,13 +60,12 @@ NGCPXAvp_MT = { error("value is not a number or string") end end - NGCPXAvp_MT.__tostring = function (t) - local l,k,v + NGCPXAvp_MT.__tostring = function (s) local output - l = sr.xavp.get(t.name, 0) - if l then - output = table.tostring(l) + local ll = sr.xavp.get(s.name, 0) + if ll then + output = table.tostring(ll) end sr.log("dbg", string.format("output:%s", output)) return output @@ -95,7 +93,7 @@ NGCPXAvp_MT = { end function NGCPXAvp._setvalue(id, vtype, value) - local check = nil + local check -- sr.log("info", string.format("vtype:[%s]:%d", type(vtype), vtype)) if type(vtype) == "string" then vtype = tonumber(vtype) @@ -119,7 +117,7 @@ NGCPXAvp_MT = { check = sr.pv.get(id) if check then if type(check) == 'table' then - check = table.tostring(check) + table.tostring(check) end else --error(string.format("%s:nil", id)) @@ -129,7 +127,6 @@ NGCPXAvp_MT = { end function NGCPXAvp:_create(l) - local i local name = string.format("$xavp(%s=>dummy)", self.name) if not sr.pv.get(name) then NGCPXAvp._setvalue(name, 0, self.level)