跳转到内容

模組:AFC submission/reasons/data

维基百科,自由的百科全书

这是本页的一个历史版本,由SunAfterRain留言 | 贡献2025年4月25日 (五) 12:21 建立内容为“local data = mw.loadJsonData('Module:AFC_submission/reasons/data.json') local TableTools = require('Module:TableTools') local frame = mw.getCurrentFrame() local expandHelper = { AS_CSD = function (parent, args) local csd_real_list = {} for _, csdId in ipairs(args) do table.insert(csd_real_list, frame:expandTemplate { title = 'CSD reason', args = { csdId, '快速刪除的標準', reason = 1 } }) end parent['@messageUsePreprocess'…”的新页面)编辑。这可能和当前版本存在着巨大的差异。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)
local data = mw.loadJsonData('Module:AFC_submission/reasons/data.json')
local TableTools = require('Module:TableTools')

local frame = mw.getCurrentFrame()

local expandHelper = {
	AS_CSD = function (parent, args)
		local csd_real_list = {}
		for _, csdId in ipairs(args) do
		   table.insert(csd_real_list, frame:expandTemplate { title = 'CSD reason', args = { csdId, '快速刪除的標準', reason = 1 } })
		end
		parent['@messageUsePreprocess'] = true
		return '提交的內容符合' .. mw.text.listToText(csd_real_list, '、', '和') .. '。'
	end
}

local function mayExpand(parent)
	if type(parent.message) == type({}) then
		local expandBy = parent.message.expandBy
		if not expandHelper[expandBy] then
			error('Unrecognized expandBy "' .. expandBy .. '".')
		end
		parent.message = expandHelper[expandBy](parent, parent.message.args)
	end
end

local reasonsMap = {}

for _i, block in ipairs(data.reasons) do
	for _j, item in ipairs(block.items) do
		local outputItem = {
			key = item.key,
			tags = {},
			description = item.description
		}
		if item.declined then
			outputItem.declined = TableTools.deepCopy(item.declined, true)
			mayExpand(outputItem.declined)
		else
			outputItem.declined = false
		end
		if item.reject then
			outputItem.reject = TableTools.deepCopy(item.reject, true)
			mayExpand(outputItem.reject)
		else
			outputItem.reject = false
		end
		for _, tag in ipairs(item.tags) do
		   table.insert(outputItem.tags, tag)
		   reasonsMap[tag] = outputItem
		end
	end
end

return {
	reasonsMap = reasonsMap,
	custom = TableTools.deepCopy(data.custom, true)
}