New application for watchcat
Hi, This patch add a new luci-application for the watchcat package (in feeds/packages/utils). Chris
This commit is contained in:
parent
b6c98f9c57
commit
ca9314ee22
5 changed files with 106 additions and 0 deletions
3
applications/luci-watchcat/Makefile
Normal file
3
applications/luci-watchcat/Makefile
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
PO=watchcat
|
||||||
|
include ../../build/config.mk
|
||||||
|
include ../../build/module.mk
|
7
applications/luci-watchcat/ipkg/postinst
Normal file
7
applications/luci-watchcat/ipkg/postinst
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
me="watchcat"
|
||||||
|
[ -n "${IPKG_INSTROOT}" ] || {
|
||||||
|
( . /etc/uci-defaults/luci-$me ) && rm -f /etc/uci-defaults/luci-$me
|
||||||
|
/etc/init.d/$me enabled || /etc/init.d/$me enable
|
||||||
|
exit 0
|
||||||
|
}
|
22
applications/luci-watchcat/luasrc/controller/watchcat.lua
Normal file
22
applications/luci-watchcat/luasrc/controller/watchcat.lua
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
--[[
|
||||||
|
LuCI - Lua Configuration Interface
|
||||||
|
|
||||||
|
Copyright 2012 Christian Gagneraud <chris@techworks.ie>
|
||||||
|
|
||||||
|
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.watchcat", package.seeall)
|
||||||
|
|
||||||
|
function index()
|
||||||
|
if not nixio.fs.access("/etc/config/system") then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
entry({"admin", "services", "watchcat"}, cbi("watchcat/watchcat"), _("Watchcat"), 90)
|
||||||
|
end
|
|
@ -0,0 +1,64 @@
|
||||||
|
--[[
|
||||||
|
LuCI - Lua Configuration Interface
|
||||||
|
|
||||||
|
Copyright 2012 Christian Gagneraud <chris@techworks.ie>
|
||||||
|
|
||||||
|
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$
|
||||||
|
]]--
|
||||||
|
|
||||||
|
m = Map("system",
|
||||||
|
translate("Watchcat"),
|
||||||
|
translate("Watchcat allows to configure a periodic reboot and/or when " ..
|
||||||
|
"internet connection has been lost for a certain period of time."
|
||||||
|
))
|
||||||
|
|
||||||
|
s = m:section(TypedSection, "watchcat")
|
||||||
|
s.anonymous = true
|
||||||
|
s.addremove = true
|
||||||
|
|
||||||
|
mode = s:option(ListValue, "mode",
|
||||||
|
translate("Operating mode"))
|
||||||
|
mode.default = "allways"
|
||||||
|
mode:value("ping", "Reboot on internet connection lost")
|
||||||
|
mode:value("allways", "Periodic reboot")
|
||||||
|
|
||||||
|
forcedelay = s:option(Value, "forcedelay",
|
||||||
|
translate("Forced reboot delay"),
|
||||||
|
translate("When rebooting the system the watchcat will trigger a soft reboot, " ..
|
||||||
|
"Entering a non zero value here, will trigger a delayed hard reboot " ..
|
||||||
|
"if the soft reboot fails. Enter a number of seconds to enable, " ..
|
||||||
|
"use 0 to disable"))
|
||||||
|
forcedelay.datatype = "uinteger"
|
||||||
|
forcedelay.default = "0"
|
||||||
|
|
||||||
|
period = s:option(Value, "period",
|
||||||
|
translate("Period"),
|
||||||
|
translate("In periodic mode, it defines the reboot period. " ..
|
||||||
|
"In internet mode, it defines the longest period of " ..
|
||||||
|
"time without internet access before a reboot is engaged." ..
|
||||||
|
"Default unit is seconds, you can use the " ..
|
||||||
|
"suffix 'm' for minutes, 'h' for hours or 'd' " ..
|
||||||
|
"for days"))
|
||||||
|
|
||||||
|
pinghost = s:option(Value, "pinghost",
|
||||||
|
translate("Ping host"),
|
||||||
|
translate("Host address to ping"))
|
||||||
|
pinghost.datatype = "host"
|
||||||
|
pinghost.default = "8.8.8.8"
|
||||||
|
pinghost:depends({mode="ping"})
|
||||||
|
|
||||||
|
pingperiod = s:option(Value, "pingperiod",
|
||||||
|
translate("Ping period"),
|
||||||
|
translate("How often to check internet connection. " ..
|
||||||
|
"Default unit is seconds, you can you use the " ..
|
||||||
|
"suffix 'm' for minutes, 'h' for hours or 'd' " ..
|
||||||
|
"for days"))
|
||||||
|
pingperiod:depends({mode="ping"})
|
||||||
|
|
||||||
|
return m
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
uci -q batch <<-EOF >/dev/null
|
||||||
|
add ucitrack system
|
||||||
|
set ucitrack.@system[-1].init=watchcat
|
||||||
|
commit ucitrack
|
||||||
|
EOF
|
||||||
|
|
||||||
|
rm -f /tmp/luci-indexcache
|
||||||
|
exit 0
|
Loading…
Reference in a new issue