「モジュール:Maintenance」の版間の差分

提供:AcPubWiki
(ページの作成:「-- メンテナンス予定jsonファイル読み込み maintenancedata = mw.loadJsonData("利用者:龍太郎/sandbox/テンプレート:メンテナンス/data.json") mw.log( maintenancedata.maintenance[1]) -- 可用性について定義 if maintenancedata.maintenance[1].availability == "available" then availability = "も、いつも通りご利用いただけます" elseif maintenancedata.maintenance[1].availability == "read-only" then availability = "は、Wi…」)
 
(最終メンテナンス情報を参照するように変更)
 
(同じ利用者による、間の8版が非表示)
1行目: 1行目:
-- メンテナンス予定jsonファイル読み込み
local p = {}
maintenancedata = mw.loadJsonData("利用者:龍太郎/sandbox/テンプレート:メンテナンス/data.json")
function p.main()
mw.log( maintenancedata.maintenance[1])
frame = mw.getCurrentFrame()
-- 可用性について定義
-- メンテナンス予定jsonファイル読み込み
if maintenancedata.maintenance[1].availability == "available" then
maintenancedata = mw.loadJsonData("module:Maintenance/data.json")
availability = "も、いつも通りご利用いただけます"
for index,item in ipairs(maintenancedata.maintenance) do
elseif maintenancedata.maintenance[1].availability == "read-only" then
c = index
availability = "は、Wiki全体が読み取り専用としてご利用いただけます"
end
elseif maintenancedata.maintenance[1].availability == "performance-impact" then
availability = "も、いつも通りご利用いただけますがパフォーマンスが低下する恐れがあります"
mw.log( maintenancedata.maintenance[c])
elseif maintenancedata.maintenance[1].availability == "Intermittent" then
-- 可用性について定義
availability = "も、いつも通りご利用いただけます"
if maintenancedata.maintenance[c].availability == "available" then
else
availability = "も、いつも通りご利用いただけます"
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
end
 
return p
-- タイプについて定義
if maintenancedata.maintenance[1].type == "periodic" then
type = "定期メンテナンスします。なおメンテナンス中"
elseif maintenancedata.maintenance[1].type == "emergency" then
type = "緊急メンテナンスします。なおメンテナンス中"
elseif maintenancedata.maintenance[1].type == "temporary" then
type = "臨時メンテナンスします。なおメンテナンス中"
end
 
-- 開始時間について定義
if maintenancedata.maintenance[1].start == "near" then
start = "近日中に"
else
start = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].start) .. "から"
end
 
-- 終了時間について定義
if maintenancedata.maintenance[1].time == "few" then
endtime = "短時間の間"
elseif maintenancedata.maintenance[1].time == "intermittent" then
endtime = "断続的に"
elseif maintenancedata.maintenance[1].time == "observation" then
endtime = "経過観察をしながら断続的に"
else
endtime = os.date("!%Y-%m-%d %T",maintenancedata.maintenance[1].time) .. "まで"
end
 
mw.log ("{{template:メンテナンス/template|" .. start .. "|" .. endtime .. "|" ..  type .. "|" .. availability .. "|" .. maintenancedata.maintenance[1].description["ja"] .. "}}")

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