summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-hd-idle
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-hd-idle')
-rw-r--r--applications/luci-hd-idle/Makefile4
-rw-r--r--applications/luci-hd-idle/ipkg/postinst5
-rw-r--r--applications/luci-hd-idle/luasrc/controller/hd_idle.lua28
-rw-r--r--applications/luci-hd-idle/luasrc/model/cbi/hd_idle.lua41
-rw-r--r--applications/luci-hd-idle/root/etc/uci-defaults/luci-hd_idle7
5 files changed, 85 insertions, 0 deletions
diff --git a/applications/luci-hd-idle/Makefile b/applications/luci-hd-idle/Makefile
new file mode 100644
index 0000000000..d70bb8789c
--- /dev/null
+++ b/applications/luci-hd-idle/Makefile
@@ -0,0 +1,4 @@
+PO = hd_idle
+
+include ../../build/config.mk
+include ../../build/module.mk
diff --git a/applications/luci-hd-idle/ipkg/postinst b/applications/luci-hd-idle/ipkg/postinst
new file mode 100644
index 0000000000..835dc23ad3
--- /dev/null
+++ b/applications/luci-hd-idle/ipkg/postinst
@@ -0,0 +1,5 @@
+#!/bin/sh
+[ -n "${IPKG_INSTROOT}" ] || {
+ ( . /etc/uci-defaults/luci-hd_idle ) && rm -f /etc/uci-defaults/luci-hd_idle
+ /etc/init.d/hd-idle enabled || /etc/init.d/hd-idle enable
+}
diff --git a/applications/luci-hd-idle/luasrc/controller/hd_idle.lua b/applications/luci-hd-idle/luasrc/controller/hd_idle.lua
new file mode 100644
index 0000000000..9d5e5b3b30
--- /dev/null
+++ b/applications/luci-hd-idle/luasrc/controller/hd_idle.lua
@@ -0,0 +1,28 @@
+--[[
+
+LuCI hd-idle
+(c) 2008 Yanira <forum-2008@email.de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+]]--
+
+module("luci.controller.hd_idle", package.seeall)
+
+function index()
+ require("luci.i18n")
+ luci.i18n.loadc("hd_idle")
+ if not nixio.fs.access("/etc/config/hd-idle") then
+ return
+ end
+
+ local page = entry({"admin", "services", "hd_idle"}, cbi("hd_idle"), luci.i18n.translate("hd-idle"), 60)
+ page.i18n = "hd_idle"
+ page.dependent = true
+end
diff --git a/applications/luci-hd-idle/luasrc/model/cbi/hd_idle.lua b/applications/luci-hd-idle/luasrc/model/cbi/hd_idle.lua
new file mode 100644
index 0000000000..82b9eaa748
--- /dev/null
+++ b/applications/luci-hd-idle/luasrc/model/cbi/hd_idle.lua
@@ -0,0 +1,41 @@
+--[[
+
+LuCI hd-idle
+(c) 2008 Yanira <forum-2008@email.de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+]]--
+
+require("nixio.fs")
+
+m = Map("hd-idle", translate("hd-idle"), translate("hd-idle is a utility program for spinning-down external disks after a period of idle time."))
+
+s = m:section(TypedSection, "hd-idle", translate("Settings"))
+s.anonymous = true
+
+s:option(Flag, "enabled", translate("enable"))
+
+disk = s:option(Value, "disk", translate("Disk"))
+disk.rmempty = true
+for dev in nixio.fs.glob("/dev/[sh]d[a-z]") do
+ disk:value(nixio.fs.basename(dev))
+end
+
+s:option(Value, "idle_time_interval", translate("Idle-Time")).default = 10
+s.rmempty = true
+unit = s:option(ListValue, "idle_time_unit", translate("Idle-Time unit"))
+unit.default = "minutes"
+unit:value("minutes", "min")
+unit:value("hours", "h")
+unit.rmempty = true
+
+s:option(Flag, "enable_debug", translate("Enable debug"))
+
+return m
diff --git a/applications/luci-hd-idle/root/etc/uci-defaults/luci-hd_idle b/applications/luci-hd-idle/root/etc/uci-defaults/luci-hd_idle
new file mode 100644
index 0000000000..6a37176a35
--- /dev/null
+++ b/applications/luci-hd-idle/root/etc/uci-defaults/luci-hd_idle
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+uci batch <<-EOF
+ add ucitrack hd-idle
+ set ucitrack.@hd-idle[-1].init=hd-idle
+ commit ucitrack
+EOF