Modul:IsIn: Unterschied zwischen den Versionen

Aus skandinavien-wiki.net
K (umgestellt)
K (Test erweitert)
Zeile 26: Zeile 26:
end
end
targetPage = mw.title.new( targetPage )
targetPage = mw.title.new( targetPage )
if not targetPage.exists or targetPage.isRedirect then
if not targetPage or not targetPage.exists or targetPage.isRedirect then
-- disambiguation cannot be checked
-- disambiguation cannot be checked
return 'wrongIsIn'
return 'wrongIsIn'

Version vom 22. September 2020, 11:12 Uhr

Die Dokumentation für dieses Modul kann unter Modul:IsIn/doc erstellt werden

-- documentation
local isIn = {
	suite  = 'isIn',
	serial = '2020-09-22',
--	item   = 12345678
}

function isIn.checkTarget( frame )
	local page = mw.title.getCurrentTitle()

	local args = frame.args
	args.page = args.page or args[ 1 ] or ''
	args.page = mw.text.trim( args.page )
	args.enterTarget = args.enterTarget or ''
	local targetPage = mw.ustring.gsub( args.page, '^' .. page.nsText .. ':', '' )
	if targetPage == '' then
		return 'emptyTarget'
	elseif targetPage == page.text then
		return 'wrongIsIn'
	elseif args.enterTarget == args.page then
		return 'enterTarget'
	end

	if page.nsText ~= '' then
		targetPage = page.nsText .. ':' .. targetPage
	end
	targetPage = mw.title.new( targetPage )
	if not targetPage or not targetPage.exists or targetPage.isRedirect then
		-- disambiguation cannot be checked
		return 'wrongIsIn'
	else
		return args.page
	end
end

return isIn