eufon

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

battery.fnl (380B)


      1 (fn battery [name]
      2   (let [name (.. "/sys/class/power_supply/" name  "/uevent")]
      3     (with-open [f (io.open name :r)]
      4       (let [fields {}]
      5         (each [line #(f:read "*l")]
      6           (let [(name value) (line:match "([^=]+)=(.+)")]
      7             (tset fields (: (name:gsub "_" "-") :lower) value)))
      8         fields))))
      9 
     10 { :new
     11  (fn [name]
     12    {
     13     :read #(battery name)
     14     })
     15  }