Changeset 7003

Show
Ignore:
Timestamp:
04/25/11 20:54:32 (2 years ago)
Author:
jow
Message:

modules/admin-full: implement "dev" option for USB device led triggers (#224)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • luci/trunk/modules/admin-full/luasrc/model/cbi/admin_system/leds.lua

    r6838 r7003  
    4747end 
    4848 
    49 s:option(Flag, "default", translate("Default state")).rmempty = false 
     49s:option(Flag, "default", translate("Default state")).rmempty = true 
    5050 
    5151 
     
    5555for t in triggers:gmatch("[%w-]+") do 
    5656    trigger:value(t, translate(t:gsub("-", ""))) 
    57 end 
     57end  
    5858 
    5959 
     
    6565 
    6666 
    67 dev = s:option(ListValue, "dev", translate("Device")) 
     67dev = s:option(ListValue, "_net_dev", translate("Device")) 
    6868dev.rmempty = true 
    6969dev:value("") 
    7070dev:depends("trigger", "netdev") 
     71 
     72function dev.cfgvalue(self, section) 
     73    return m.uci:get("system", section, "dev") 
     74end 
     75 
     76function dev.write(self, section, value) 
     77    m.uci:set("system", section, "dev", value) 
     78end 
     79 
     80function dev.remove(self, section) 
     81    local t = trigger:formvalue(section) 
     82    if t ~= "netdev" and t ~= "usbdev" then 
     83        m.uci:delete("system", section, "dev") 
     84    end 
     85end 
     86 
    7187for k, v in pairs(luci.sys.net.devices()) do 
    7288    if v ~= "lo" then 
     
    8399mode:value("rx", translate("Receive")) 
    84100 
     101 
     102usbdev = s:option(ListValue, "_usb_dev", translate("USB Device")) 
     103usbdev:depends("trigger", "usbdev") 
     104usbdev.rmempty = true 
     105usbdev:value("") 
     106 
     107function usbdev.cfgvalue(self, section) 
     108    return m.uci:get("system", section, "dev") 
     109end 
     110 
     111function usbdev.write(self, section, value) 
     112    m.uci:set("system", section, "dev", value) 
     113end 
     114 
     115function usbdev.remove(self, section) 
     116    local t = trigger:formvalue(section) 
     117    if t ~= "netdev" and t ~= "usbdev" then 
     118        m.uci:delete("system", section, "dev") 
     119    end 
     120end 
     121 
     122for p in nixio.fs.glob("/sys/bus/usb/devices/[0-9]*/manufacturer") do 
     123    local id = p:match("%d+-%d+") 
     124    local mf = nixio.fs.readfile("/sys/bus/usb/devices/" .. id .. "/manufacturer") 
     125    local pr = nixio.fs.readfile("/sys/bus/usb/devices/" .. id .. "/product") 
     126    usbdev:value(id, "%s (%s - %s)" %{ id, mf, pr }) 
     127end 
     128 
    85129return m