Модуль:КБУ — различия между версиями

Материал из Playzone Minecraft Wiki
Перейти к: навигация, поиск
(исправление неправильной работы)
 
м (1 версия импортирована)
 
(нет различий)

Текущая версия на 00:27, 18 января 2017

Для документации этого модуля может быть создана страница Модуль:КБУ/doc

p = {}

p.criterion = function(f)
	local args = f.args or f
	if f == mw.getCurrentFrame() and args[1] == nil then
		args = f:getParent().args
	end
	
	local criterionName = args[1]
	assert(criterionName, "Критерий быстрого удаления не указан")

	local criteria = mw.loadData("Модуль:КБУ/Критерии")
	local criterion = criteria[criterionName]
	assert(criterion, string.format("Критерия быстрого удаления «%s» не существует", criterionName))
	
	if type(criterion) == "table" then
		local variant = args[3]
		if (not variant) or (variant == "") then
			variant = "умолчание"
		end
		local variantText = criterion[variant]
		assert(variantText, string.format("Варианта «%s» для критерия быстрого удаления «%s» не существует", variant, criterionName))
		criterion = variantText
	end
	
	local mode = args[2]
	if (not mode) or (mode == "") then
		mode = "номер+ссылка"
	end
	
	if mode == "номер" then
		return string.format("%s: %s", criterionName, criterion)
	elseif mode == "номер+ссылка" then
		return string.format("[[MCW:КБУ#%s|%s]]: %s", criterionName, criterionName, criterion)
	elseif mode == "безномера" then
		return criterion
	else
		error(string.format("Неизвестный режим для критерия «%s»: «%s»", criterionName, mode))
	end
end

return p