Jump to content

Module:Redirect: Difference between revisions

restore p.getTargetFromText which is used by Module:RfD which is causing "Lua error in Module:RfD at line 87: attempt to call upvalue 'getTargetFromText' (a nil value)"
en>Centrist16
(Created page with "-- This module provides functions for getting the target of a redirect page. local p = {} -- Gets a mw.title object, using pcall to avoid generating script errors if we -- a...")
en>Johnuniq
(restore p.getTargetFromText which is used by Module:RfD which is causing "Lua error in Module:RfD at line 87: attempt to call upvalue 'getTargetFromText' (a nil value)")
Line 17:
-- redirect.
function p.getTargetFromText(text)
returnlocal target = string.match(
text,
"^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]|]-)%]%]"
Line 24:
"^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]|]-)|[^%[%]]-%]%]"
)
return target and mw.uri.decode(target, 'PATH')
end
 
Line 43 ⟶ 44:
), 2)
end
if not titleObj or not titleObj.isRedirect then
return nil
end
local targetTitle = getTitle(target)titleObj.redirectTarget
if targetTitle then
-- Find the target by using string matching on the page content.
if fulltext then
local target = p.getTargetFromText(titleObj:getContent() or "")
return targetTitle.fullText
if target then
local targetTitle = getTitle(target)
if targetTitle then
if fulltext then
return targetTitle.fullText
else
return targetTitle.prefixedText
end
else
return niltargetTitle.prefixedText
end
else
return nil
-- The page is a redirect, but matching failed. This indicates a bug in
-- the redirect matching pattern, so throw an error.
error(string.format(
'could not parse redirect on page "%s"',
fulltext and titleObj.fullText or titleObj.prefixedText
))
end
end
Line 74 ⟶ 63:
-- target page name, or the passed page name when not a redirect. The passed
-- page name can be given as plain text or as a page link.
--
-- Returns page name as plain text, or when the bracket parameter is given, as a
-- page link. Returns an error message when page does not exist or the redirect
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.