「モジュール:Maintenance/isShow」の版間の差分
細 (名前変更に追従) |
細 (要素の最後を取得するように修正) |
||
4行目: | 4行目: | ||
maintenancedata = mw.loadJsonData("module:Maintenance/data.json") | maintenancedata = mw.loadJsonData("module:Maintenance/data.json") | ||
--forで最後の要素までカウントする | |||
for index,item in ipairs(maintenancedata.maintenance) do | |||
c = index | |||
end | |||
-- 開始時間について定義 | -- 開始時間について定義 | ||
if maintenancedata.maintenance[ | if maintenancedata.maintenance[c].start == "near" then | ||
start = "-1" | start = "-1" | ||
else | else | ||
start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[ | start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[c].start) | ||
end | end | ||
-- 終了時間について定義 | -- 終了時間について定義 | ||
if maintenancedata.maintenance[ | if maintenancedata.maintenance[c].time == "few" then | ||
endtime = "0" | endtime = "0" | ||
elseif maintenancedata.maintenance[ | elseif maintenancedata.maintenance[c].time == "intermittent" then | ||
endtime = "0" | endtime = "0" | ||
elseif maintenancedata.maintenance[ | elseif maintenancedata.maintenance[c].time == "observation" then | ||
endtime = "0" | endtime = "0" | ||
else | else | ||
endtime = maintenancedata.maintenance[ | endtime = maintenancedata.maintenance[c].time | ||
end | end | ||
2023年7月12日 (水) 16:48時点における版
このモジュールについての説明文ページを モジュール: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(os.time(), endtime) ) > 0 then return "true" else return "false" end elseif start ~= 0 then if start == "-1" then elseif 0 > ( os.difftime(os.time()+86400, starttime) ) then return "true" end else return "false" end end return p