「モジュール:Redirect」の版間の差分

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)"
(ページの作成:「-- 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…」)
 
bsd>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)")
17行目: 17行目:
-- redirect.
-- redirect.
function p.getTargetFromText(text)
function p.getTargetFromText(text)
return string.match(
local target = string.match(
text,
text,
"^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]|]-)%]%]"
"^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]|]-)%]%]"
24行目: 24行目:
"^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]|]-)|[^%[%]]-%]%]"
"^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]|]-)|[^%[%]]-%]%]"
)
)
return target and mw.uri.decode(target, 'PATH')
end
end


43行目: 44行目:
), 2)
), 2)
end
end
if not titleObj or not titleObj.isRedirect then
if not titleObj then
return nil
return nil
end
end
local targetTitle = titleObj.redirectTarget
-- Find the target by using string matching on the page content.
if targetTitle then
local target = p.getTargetFromText(titleObj:getContent() or "")
if fulltext then
if target then
return targetTitle.fullText
local targetTitle = getTitle(target)
if targetTitle then
if fulltext then
return targetTitle.fullText
else
return targetTitle.prefixedText
end
else
else
return nil
return targetTitle.prefixedText
end
end
else
else
-- The page is a redirect, but matching failed. This indicates a bug in
return nil
-- 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
end
end
74行目: 63行目:
-- target page name, or the passed page name when not a redirect. The passed
-- 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.
-- 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
-- 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
-- page link. Returns an error message when page does not exist or the redirect
匿名利用者