diff options
6 files changed, 79 insertions, 73 deletions
diff --git a/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua b/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua index 4743453a1d..261cf36d0f 100644 --- a/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua +++ b/applications/luci-app-wifischedule/luasrc/controller/wifischedule/wifi_schedule.lua @@ -12,21 +12,31 @@ -- -- Author: Nils Koenig <openwrt@newk.it> -module("luci.controller.wifischedule.wifi_schedule", package.seeall) +module("luci.controller.wifischedule.wifi_schedule", package.seeall) + +local fs = require "nixio.fs" +local sys = require "luci.sys" +local template = require "luci.template" +local i18n = require "luci.i18n" function index() - entry({"admin", "wifi_schedule"}, firstchild(), _("Wifi Schedule"), 60).dependent=false - entry({"admin", "wifi_schedule", "tab_from_cbi"}, cbi("wifischedule/wifi_schedule"), _("Schedule"), 1) - entry({"admin", "wifi_schedule", "wifi_schedule"}, call("wifi_schedule_log"), _("View Logfile"), 2) - entry({"admin", "wifi_schedule", "cronjob"}, call("view_crontab"), _("View Cron Jobs"), 3) + if not nixio.fs.access("/etc/config/wifi_schedule") then + return + end + entry({"admin", "services", "wifi_schedule"}, firstchild(), _("Wifi Schedule"), 60).dependent=false + entry({"admin", "services", "wifi_schedule", "tab_from_cbi"}, cbi("wifischedule/wifi_schedule"), _("Schedule"), 1) + entry({"admin", "services", "wifi_schedule", "wifi_schedule"}, call("wifi_schedule_log"), _("View Logfile"), 2) + entry({"admin", "services", "wifi_schedule", "cronjob"}, call("view_crontab"), _("View Cron Jobs"), 3) end function wifi_schedule_log() - local logfile = luci.sys.exec("cat /tmp/log/wifi_schedule.log") - luci.template.render("wifischedule/file_viewer", {title="Wifi Schedule Logfile", content=logfile}) + local logfile = fs.readfile("/tmp/log/wifi_schedule.log") or "" + template.render("wifischedule/file_viewer", + {title = i18n.translate("Wifi Schedule Logfile"), content = logfile}) end function view_crontab() - local crontab = luci.sys.exec("cat /etc/crontabs/root") - luci.template.render("wifischedule/file_viewer", {title="Cron Jobs", content=crontab}) + local crontab = fs.readfile("/etc/crontabs/root") or "" + template.render("wifischedule/file_viewer", + {title = i18n.translate("Cron Jobs"), content = crontab}) end diff --git a/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua b/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua index 7c7f1b50e5..1d301219a8 100644 --- a/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua +++ b/applications/luci-app-wifischedule/luasrc/model/cbi/wifischedule/wifi_schedule.lua @@ -12,15 +12,11 @@ -- -- Author: Nils Koenig <openwrt@newk.it> -function file_exists(name) - local f=io.open(name,"r") - if f~=nil then io.close(f) return true else return false end -end - +local fs = require "nixio.fs" +local sys = require "luci.sys" function time_validator(self, value, desc) if value ~= nil then - h_str, m_str = string.match(value, "^(%d%d?):(%d%d?)$") h = tonumber(h_str) m = tonumber(m_str) @@ -32,16 +28,16 @@ function time_validator(self, value, desc) m <= 59) then return value end - end - return nil, translate("The value '" .. desc .. "' is invalid") + end + return nil, translatef("The value %s is invalid", desc) end -- ------------------------------------------------------------------------------------------------- -- BEGIN Map -m = Map("wifi_schedule", translate("Wifi Schedule"), translate("Defines a schedule when to turn on and off wifi.")) +m = Map("wifi_schedule", translate("Wifi Schedule"), translate("Defines a schedule when to turn on and off wifi.")) function m.on_commit(self) - luci.sys.exec("/usr/bin/wifi_schedule.sh cron") + sys.exec("/usr/bin/wifi_schedule.sh cron") end -- END Map @@ -54,13 +50,13 @@ global_section.anonymous = true -- BEGIN Global Enable Checkbox global_enable = global_section:option(Flag, "enabled", translate("Enable Wifi Schedule")) -global_enable.optional=false; -global_enable.rmempty = false; +global_enable.optional = false +global_enable.rmempty = false function global_enable.validate(self, value, global_section) if value == "1" then - if ( file_exists("/sbin/wifi") and - file_exists("/usr/bin/wifi_schedule.sh") )then + if ( fs.access("/sbin/wifi") and + fs.access("/usr/bin/wifi_schedule.sh") )then return value else return nil, translate("Could not find required /usr/bin/wifi_schedule.sh or /sbin/wifi") @@ -71,39 +67,38 @@ function global_enable.validate(self, value, global_section) end -- END Global Enable Checkbox - -- BEGIN Global Logging Checkbox global_logging = global_section:option(Flag, "logging", translate("Enable logging")) -global_logging.optional=false; -global_logging.rmempty = false; +global_logging.optional = false +global_logging.rmempty = false global_logging.default = 0 -- END Global Enable Checkbox -- BEGIN Global Activate WiFi Button enable_wifi = global_section:option(Button, "enable_wifi", translate("Activate wifi")) function enable_wifi.write() - luci.sys.exec("/usr/bin/wifi_schedule.sh start manual") + sys.exec("/usr/bin/wifi_schedule.sh start manual") end -- END Global Activate Wifi Button -- BEGIN Global Disable WiFi Gracefully Button disable_wifi_gracefully = global_section:option(Button, "disable_wifi_gracefully", translate("Disable wifi gracefully")) function disable_wifi_gracefully.write() - luci.sys.exec("/usr/bin/wifi_schedule.sh stop manual") + sys.exec("/usr/bin/wifi_schedule.sh stop manual") end --- END Global Disable Wifi Gracefully Button +-- END Global Disable Wifi Gracefully Button -- BEGIN Disable WiFi Forced Button disable_wifi_forced = global_section:option(Button, "disable_wifi_forced", translate("Disabled wifi forced")) function disable_wifi_forced.write() - luci.sys.exec("/usr/bin/wifi_schedule.sh forcestop manual") + sys.exec("/usr/bin/wifi_schedule.sh forcestop manual") end -- END Global Disable WiFi Forced Button -- BEGIN Global Unload Modules Checkbox global_unload_modules = global_section:option(Flag, "unload_modules", translate("Unload Modules (experimental; saves more power)")) -global_unload_modules.optional = false; -global_unload_modules.rmempty = false; +global_unload_modules.optional = false +global_unload_modules.rmempty = false global_unload_modules.default = 0 -- END Global Unload Modules Checkbox @@ -111,13 +106,13 @@ global_unload_modules.default = 0 -- BEGIN Modules modules = global_section:option(TextValue, "modules", "") modules:depends("unload_modules", global_unload_modules.enabled); -modules.wrap = "off" -modules.rows = 10 +modules.wrap = "off" +modules.rows = 10 function modules.cfgvalue(self, section) - mod=uci.get("wifi_schedule", section, "modules") + mod = uci.get("wifi_schedule", section, "modules") if mod == nil then - mod="" + mod = "" end return mod:gsub(" ", "\r\n") end @@ -131,28 +126,27 @@ function modules.write(self, section, value) end -- END Modules --- BEGIN Determine Modules +-- BEGIN Determine Modules determine_modules = global_section:option(Button, "determine_modules", translate("Determine Modules Automatically")) determine_modules:depends("unload_modules", global_unload_modules.enabled); function determine_modules.write(self, section) - output = luci.sys.exec("/usr/bin/wifi_schedule.sh getmodules") + output = sys.exec("/usr/bin/wifi_schedule.sh getmodules") modules:write(section, output) end -- END Determine Modules - -- BEGIN Section d = m:section(TypedSection, "entry", translate("Schedule events")) -d.addremove = true +d.addremove = true --d.anonymous = true -- END Section -- BEGIN Enable Checkbox c = d:option(Flag, "enabled", translate("Enable")) -c.optional=false; c.rmempty = false; +c.optional = false +c.rmempty = false -- END Enable Checkbox - -- BEGIN Day(s) of Week dow = d:option(MultiValue, "daysofweek", translate("Day(s) of Week")) dow.optional = false @@ -168,8 +162,8 @@ dow:value("Sunday", translate("Sunday")) -- BEGIN Start Wifi Dropdown starttime = d:option(Value, "starttime", translate("Start WiFi")) -starttime.optional=false; -starttime.rmempty = false; +starttime.optional = false +starttime.rmempty = false starttime:value("00:00") starttime:value("01:00") starttime:value("02:00") @@ -198,14 +192,12 @@ starttime:value("23:00") function starttime.validate(self, value, d) return time_validator(self, value, translate("Start Time")) end - -- END Start Wifi Dropdown - -- BEGIN Stop Wifi Dropdown -stoptime = d:option(Value, "stoptime", translate("Stop WiFi")) -stoptime.optional=false; -stoptime.rmempty = false; +stoptime = d:option(Value, "stoptime", translate("Stop WiFi")) +stoptime.optional = false +stoptime.rmempty = false stoptime:value("00:00") stoptime:value("01:00") stoptime:value("02:00") @@ -236,15 +228,14 @@ function stoptime.validate(self, value, d) end -- END Stop Wifi Dropdown - -- BEGIN Force Wifi Stop Checkbox force_wifi = d:option(Flag, "forcewifidown", translate("Force disabling wifi even if stations associated")) force_wifi.default = false -force_wifi.rmempty = false; +force_wifi.rmempty = false function force_wifi.validate(self, value, d) if value == "0" then - if file_exists("/usr/bin/iwinfo") then + if fs.access("/usr/bin/iwinfo") then return value else return nil, translate("Could not find required programm /usr/bin/iwinfo") @@ -255,5 +246,4 @@ function force_wifi.validate(self, value, d) end -- END Force Wifi Checkbox - return m diff --git a/applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm b/applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm index 2c7beba45f..f67a2bea99 100644 --- a/applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm +++ b/applications/luci-app-wifischedule/luasrc/view/wifischedule/file_viewer.htm @@ -15,7 +15,7 @@ Author: Nils Koenig <openwrt@newk.it> -%> <%+header%> -<h2 name="title"><%=translate(title)%></h2> +<h2 name="title"><%=title%></h2> <div id="content_fileviewer"> <textarea style="width: 100%" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+1%>" id="content_id"><%=content:pcdata()%></textarea> </div> diff --git a/applications/luci-app-wifischedule/po/ja/wifischedule.po b/applications/luci-app-wifischedule/po/ja/wifischedule.po index 52ec06d1cb..2bf2613fb8 100644 --- a/applications/luci-app-wifischedule/po/ja/wifischedule.po +++ b/applications/luci-app-wifischedule/po/ja/wifischedule.po @@ -22,6 +22,9 @@ msgstr "" msgid "Could not find required programm /usr/bin/iwinfo" msgstr "必須のプログラム /usr/bin/iwinfo が見つかりませんでした。" +msgid "Cron Jobs" +msgstr "Cronジョブ" + msgid "Day(s) of Week" msgstr "曜日" @@ -82,7 +85,7 @@ msgstr "WiFiの停止" msgid "Sunday" msgstr "日曜日" -msgid "The value '" +msgid "The value %s is invalid" msgstr "" msgid "Thursday" @@ -106,8 +109,5 @@ msgstr "水曜日" msgid "Wifi Schedule" msgstr "WiFi スケジュール" -#~ msgid "Cron Jobs" -#~ msgstr "Cronジョブ" - -#~ msgid "Wifi Schedule Logfile" -#~ msgstr "WiFiスケジュール ログファイル" +msgid "Wifi Schedule Logfile" +msgstr "WiFiスケジュール ログファイル" diff --git a/applications/luci-app-wifischedule/po/templates/wifischedule.pot b/applications/luci-app-wifischedule/po/templates/wifischedule.pot index 62ce9f5cfb..639c432e5e 100644 --- a/applications/luci-app-wifischedule/po/templates/wifischedule.pot +++ b/applications/luci-app-wifischedule/po/templates/wifischedule.pot @@ -10,6 +10,9 @@ msgstr "" msgid "Could not find required programm /usr/bin/iwinfo" msgstr "" +msgid "Cron Jobs" +msgstr "" + msgid "Day(s) of Week" msgstr "" @@ -70,7 +73,7 @@ msgstr "" msgid "Sunday" msgstr "" -msgid "The value '" +msgid "The value %s is invalid" msgstr "" msgid "Thursday" @@ -93,3 +96,6 @@ msgstr "" msgid "Wifi Schedule" msgstr "" + +msgid "Wifi Schedule Logfile" +msgstr "" diff --git a/applications/luci-app-wifischedule/po/zh-cn/wifischedule.po b/applications/luci-app-wifischedule/po/zh-cn/wifischedule.po index 858e42bf27..ab3a8d0bf3 100644 --- a/applications/luci-app-wifischedule/po/zh-cn/wifischedule.po +++ b/applications/luci-app-wifischedule/po/zh-cn/wifischedule.po @@ -10,11 +10,14 @@ msgstr "无法找到必需的 /usr/bin/wifi_schedule.sh 或 /sbin/wifi" msgid "Could not find required programm /usr/bin/iwinfo" msgstr "无法找到必需程序:/usr/bin/iwinfo" +msgid "Cron Jobs" +msgstr "计划任务" + msgid "Day(s) of Week" msgstr "星期" msgid "Defines a schedule when to turn on and off wifi." -msgstr "定义打开和关闭 WiFi 的时间表" +msgstr "定义自动打开和关闭 WiFi 的计划表" msgid "Determine Modules Automatically" msgstr "自动确定模块" @@ -29,7 +32,7 @@ msgid "Enable" msgstr "启用" msgid "Enable Wifi Schedule" -msgstr "启用 WiFi 时间表" +msgstr "启用 WiFi 计划" msgid "Enable logging" msgstr "启用日志" @@ -50,7 +53,7 @@ msgid "Saturday" msgstr "星期六" msgid "Schedule" -msgstr "时间表" +msgstr "计划表" msgid "Schedule events" msgstr "计划事件" @@ -70,8 +73,8 @@ msgstr "关闭 WiFi" msgid "Sunday" msgstr "星期日" -msgid "The value '" -msgstr "" +msgid "The value %s is invalid" +msgstr "%s 的值无效" msgid "Thursday" msgstr "星期四" @@ -80,7 +83,7 @@ msgid "Tuesday" msgstr "星期二" msgid "Unload Modules (experimental; saves more power)" -msgstr "取消加载模块(实验性的,节省更多电量)" +msgstr "卸载模块(实验性的,节省更多电量)" msgid "View Cron Jobs" msgstr "查看计划任务" @@ -92,10 +95,7 @@ msgid "Wednesday" msgstr "星期三" msgid "Wifi Schedule" -msgstr "WiFi 时间表" - -#~ msgid "Cron Jobs" -#~ msgstr "计划任务" +msgstr "WiFi 计划" -#~ msgid "Wifi Schedule Logfile" -#~ msgstr "WiFi 时间表日志文件" +msgid "Wifi Schedule Logfile" +msgstr "WiFi 计划日志文件" |