「モジュール:Maintenance/isShow」の版間の差分
細編集の要約なし |
細 (判定が誤っていた物を修正) |
||
(同じ利用者による、間の9版が非表示) | |||
1行目: | 1行目: | ||
local | local p = {} | ||
-- メンテナンス予定jsonファイル読み込み | function p.main() | ||
maintenancedata = mw.loadJsonData(" | -- メンテナンス予定jsonファイル読み込み | ||
maintenancedata = mw.loadJsonData("module:Maintenance/data.json") | |||
-- 開始時間について定義 | |||
if maintenancedata.maintenance[ | --forで最後の要素までカウントする | ||
for index,item in ipairs(maintenancedata.maintenance) do | |||
else | c = index | ||
end | |||
end | -- 開始時間について定義 | ||
if maintenancedata.maintenance[c].start == "near" then | |||
-- 終了時間について定義 | start = "-1" | ||
if maintenancedata.maintenance[ | else | ||
start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[c].start) | |||
elseif maintenancedata.maintenance[ | end | ||
elseif maintenancedata.maintenance[ | -- 終了時間について定義 | ||
if maintenancedata.maintenance[c].time == "few" then | |||
endtime = "0" | |||
elseif maintenancedata.maintenance[c].time == "intermittent" then | |||
endtime = "0" | |||
elseif maintenancedata.maintenance[c].time == "observation" then | |||
endtime = "0" | |||
else | else | ||
endtime = maintenancedata.maintenance[c].time | |||
end | end | ||
elseif start ~= 0 then | |||
--メンテナンスが終わってるか判定 | |||
if endtime ~= 0 then | |||
if ( os.difftime(endtime, os.time()) > 0 ) then | |||
return "true" | |||
else | |||
return "false" | |||
end | |||
elseif start ~= 0 then | |||
if start == "-1" then | |||
elseif ( os.difftime(os.time()+86400, starttime) > 0 ) then | |||
return "true" | |||
end | |||
else | |||
return "false" | |||
end | end | ||
end | end | ||
return | return p |
2023年7月12日 (水) 17:00時点における最新版
このモジュールについての説明文ページを モジュール:Maintenance/isShow/doc に作成できます
local p = {} function p.main() -- メンテナンス予定jsonファイル読み込み maintenancedata = mw.loadJsonData("module:Maintenance/data.json") --forで最後の要素までカウントする for index,item in ipairs(maintenancedata.maintenance) do c = index end -- 開始時間について定義 if maintenancedata.maintenance[c].start == "near" then start = "-1" else start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[c].start) end -- 終了時間について定義 if maintenancedata.maintenance[c].time == "few" then endtime = "0" elseif maintenancedata.maintenance[c].time == "intermittent" then endtime = "0" elseif maintenancedata.maintenance[c].time == "observation" then endtime = "0" else endtime = maintenancedata.maintenance[c].time end --メンテナンスが終わってるか判定 if endtime ~= 0 then if ( os.difftime(endtime, os.time()) > 0 ) then return "true" else return "false" end elseif start ~= 0 then if start == "-1" then elseif ( os.difftime(os.time()+86400, starttime) > 0 ) then return "true" end else return "false" end end return p