libs/core: luci.model.network: implement contains_inteface(), fix bugs

This commit is contained in:
Jo-Philipp Wich 2009-10-08 10:25:52 +00:00
parent 740bb20850
commit a037d94383

View file

@ -17,7 +17,8 @@ limitations under the License.
]]-- ]]--
local type, pairs, ipairs, table = type, pairs, ipairs, table local type, pairs, ipairs, table, i18n
= type, pairs, ipairs, table, luci.i18n
local lmo = require "lmo" local lmo = require "lmo"
local nxo = require "nixio" local nxo = require "nixio"
@ -206,7 +207,7 @@ end
function network.add_interface(self, ifname) function network.add_interface(self, ifname)
if type(ifname) ~= "string" then if type(ifname) ~= "string" then
ifname = ifname:ifname() ifname = ifname:name()
end end
if ifs[ifname] then if ifs[ifname] then
self:ifname(ub:list((self:ifname() or ''), ifname)) self:ifname(ub:list((self:ifname() or ''), ifname))
@ -215,7 +216,7 @@ end
function network.del_interface(self, ifname) function network.del_interface(self, ifname)
if type(ifname) ~= "string" then if type(ifname) ~= "string" then
ifname = ifname:ifname() ifname = ifname:name()
end end
self:ifname(ub:list((self:ifname() or ''), nil, ifname)) self:ifname(ub:list((self:ifname() or ''), nil, ifname))
end end
@ -234,14 +235,14 @@ function network.get_interfaces(self)
return ifaces return ifaces
end end
function contains_interface(self, iface) function network.contains_interface(self, iface)
local i local i
local ifaces = ub:list( local ifaces = ub:list(
(self:ifname() or '') .. ' ' .. (self:device() or '') (self:ifname() or '') .. ' ' .. (self:device() or '')
) )
if type(iface) ~= "string" then if type(iface) ~= "string" then
iface = iface:ifname() iface = iface:name()
end end
for _, i in ipairs(ifaces) do for _, i in ipairs(ifaces) do
@ -279,6 +280,19 @@ function interface.type(self)
end end
end end
function interface.get_type_i18n(self)
local x = self:type()
if x == "wifi" then
return i18n.translate("a_s_if_wifidev", "Wireless Adapter")
elseif x == "bridge" then
return i18n.translate("a_s_if_bridge", "Bridge")
elseif x == "switch" then
return i18n.translate("a_s_if_ethswitch", "Ethernet Switch")
else
return i18n.translate("a_s_if_ethdev", "Ethernet Adapter")
end
end
function interface.ports(self) function interface.ports(self)
if self.br then if self.br then
local iface local iface