「モジュール:Maintenance」の版間の差分
細 (データ呼び出し元を修正) |
細 (最終メンテナンス情報を参照するように変更) |
||
(同じ利用者による、間の3版が非表示) | |||
3行目: | 3行目: | ||
frame = mw.getCurrentFrame() | frame = mw.getCurrentFrame() | ||
-- メンテナンス予定jsonファイル読み込み | -- メンテナンス予定jsonファイル読み込み | ||
maintenancedata = mw.loadJsonData(" | maintenancedata = mw.loadJsonData("module:Maintenance/data.json") | ||
mw.log( maintenancedata.maintenance[ | for index,item in ipairs(maintenancedata.maintenance) do | ||
c = index | |||
end | |||
mw.log( maintenancedata.maintenance[c]) | |||
-- 可用性について定義 | -- 可用性について定義 | ||
if maintenancedata.maintenance[ | if maintenancedata.maintenance[c].availability == "available" then | ||
availability = "も、いつも通りご利用いただけます" | availability = "も、いつも通りご利用いただけます" | ||
elseif maintenancedata.maintenance[ | elseif maintenancedata.maintenance[c].availability == "read-only" then | ||
availability = "は、Wiki全体が読み取り専用としてご利用いただけます" | availability = "は、Wiki全体が読み取り専用としてご利用いただけます" | ||
elseif maintenancedata.maintenance[ | elseif maintenancedata.maintenance[c].availability == "performance-impact" then | ||
availability = "も、いつも通りご利用いただけますがパフォーマンスが低下する恐れがあります" | availability = "も、いつも通りご利用いただけますがパフォーマンスが低下する恐れがあります" | ||
elseif maintenancedata.maintenance[ | elseif maintenancedata.maintenance[c].availability == "Intermittent" then | ||
availability = "も、いつも通りご利用いただけます" | availability = "も、いつも通りご利用いただけます" | ||
else | else | ||
19行目: | 23行目: | ||
-- タイプについて定義 | -- タイプについて定義 | ||
if maintenancedata.maintenance[ | if maintenancedata.maintenance[c].type == "periodic" then | ||
type = "定期メンテナンスします。なおメンテナンス中" | type = "定期メンテナンスします。なおメンテナンス中" | ||
elseif maintenancedata.maintenance[ | elseif maintenancedata.maintenance[c].type == "emergency" then | ||
type = "緊急メンテナンスします。なおメンテナンス中" | type = "緊急メンテナンスします。なおメンテナンス中" | ||
elseif maintenancedata.maintenance[ | elseif maintenancedata.maintenance[c].type == "temporary" then | ||
type = "臨時メンテナンスします。なおメンテナンス中" | type = "臨時メンテナンスします。なおメンテナンス中" | ||
end | end | ||
-- 開始時間について定義 | -- 開始時間について定義 | ||
if maintenancedata.maintenance[ | if maintenancedata.maintenance[c].start == "near" then | ||
start = "近日中に" | start = "近日中に" | ||
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 = "短時間の間" | endtime = "短時間の間" | ||
elseif maintenancedata.maintenance[ | elseif maintenancedata.maintenance[c].time == "intermittent" then | ||
endtime = "断続的に" | endtime = "断続的に" | ||
elseif maintenancedata.maintenance[ | elseif maintenancedata.maintenance[c].time == "observation" then | ||
endtime = "経過観察をしながら断続的に" | endtime = "経過観察をしながら断続的に" | ||
else | else | ||
endtime = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[ | endtime = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[c].time) .. "まで" | ||
end | end | ||
return frame:expandTemplate{title=' | return frame:expandTemplate{title='Maintenance/template',args={start, endtime, type, availability, maintenancedata.maintenance[c].description["ja"] } } | ||
end | end | ||
return p | return p |
2023年7月12日 (水) 17:02時点における最新版
{{template:メンテナンス}}から呼び出される事を想定してるluaモジュールです
module:Maintenance/data.json からデータを取得し、 template:Maintenance/template を呼び出します
jsonのフォーマットについては module:Maintenance/data.json/doc をご覧ください
local p = {} function p.main() frame = mw.getCurrentFrame() -- メンテナンス予定jsonファイル読み込み maintenancedata = mw.loadJsonData("module:Maintenance/data.json") for index,item in ipairs(maintenancedata.maintenance) do c = index end mw.log( maintenancedata.maintenance[c]) -- 可用性について定義 if maintenancedata.maintenance[c].availability == "available" then availability = "も、いつも通りご利用いただけます" elseif maintenancedata.maintenance[c].availability == "read-only" then availability = "は、Wiki全体が読み取り専用としてご利用いただけます" elseif maintenancedata.maintenance[c].availability == "performance-impact" then availability = "も、いつも通りご利用いただけますがパフォーマンスが低下する恐れがあります" elseif maintenancedata.maintenance[c].availability == "Intermittent" then availability = "も、いつも通りご利用いただけます" else availability = "の可用性データがありません" end -- タイプについて定義 if maintenancedata.maintenance[c].type == "periodic" then type = "定期メンテナンスします。なおメンテナンス中" elseif maintenancedata.maintenance[c].type == "emergency" then type = "緊急メンテナンスします。なおメンテナンス中" elseif maintenancedata.maintenance[c].type == "temporary" then type = "臨時メンテナンスします。なおメンテナンス中" end -- 開始時間について定義 if maintenancedata.maintenance[c].start == "near" then start = "近日中に" else start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[c].start) .. "から" end -- 終了時間について定義 if maintenancedata.maintenance[c].time == "few" then endtime = "短時間の間" elseif maintenancedata.maintenance[c].time == "intermittent" then endtime = "断続的に" elseif maintenancedata.maintenance[c].time == "observation" then endtime = "経過観察をしながら断続的に" else endtime = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[c].time) .. "まで" end return frame:expandTemplate{title='Maintenance/template',args={start, endtime, type, availability, maintenancedata.maintenance[c].description["ja"] } } end return p