Modul:IsIn: Unterschied zwischen den Versionen
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