OpenWrt_Luci_Lua/Mi_Lua/xiaoqiang/util/XQUPnPUtil.lua

57 lines
1.8 KiB
Lua
Raw Normal View History

2015-05-09 10:48:46 +00:00
module ("xiaoqiang.util.XQUPnPUtil", package.seeall)
local XQFunction = require("xiaoqiang.common.XQFunction")
local XQConfigs = require("xiaoqiang.common.XQConfigs")
local LuciUtil = require("luci.util")
function getUPnPStatus()
if os.execute(XQConfigs.UPNP_STATUS) == 0 then
return true
else
return false
end
end
function switchUPnP(enable)
if enable then
return os.execute(XQConfigs.UPNP_ENABLE)
else
return os.execute(XQConfigs.UPNP_DISABLE)
end
end
function getUPnPList()
if getUPnPStatus() then
local upnpLease = LuciUtil.exec(XQConfigs.UPNP_LEASE_FILE)
if upnpLease then
upnpLease = LuciUtil.trim(upnpLease)
local upnpFile = io.open(upnpLease,"r")
if upnpFile then
local upnpList = {}
for line in upnpFile:lines() do
if not XQFunction.isStrNil(line) then
local item = {}
local info = LuciUtil.split(line,":")
if #info == 6 then
item["protocol"] = info[1]
item["rport"] = info[2]
item["ip"] = info[3]
item["cport"] = info[4]
item["time"] = info[5]
if info[6] == "(null)" then
item["name"] = "未知程序"
else
item["name"] = info[6]
end
table.insert(upnpList,item)
end
end
end
upnpFile:close()
return upnpList
end
end
end
return nil
end