16 lines
380 B
Plaintext
16 lines
380 B
Plaintext
|
(fn battery [name]
|
||
|
(let [name (.. "/sys/class/power_supply/" name "/uevent")]
|
||
|
(with-open [f (io.open name :r)]
|
||
|
(let [fields {}]
|
||
|
(each [line #(f:read "*l")]
|
||
|
(let [(name value) (line:match "([^=]+)=(.+)")]
|
||
|
(tset fields (: (name:gsub "_" "-") :lower) value)))
|
||
|
fields))))
|
||
|
|
||
|
{ :new
|
||
|
(fn [name]
|
||
|
{
|
||
|
:read #(battery name)
|
||
|
})
|
||
|
}
|