Module:Sandbox/Frietjes: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Tag: Reverted
Line 96:
 
return res
end
 
-- This module performs validation checks for [[WP:DYK]] hooks
local validationPatternGroups = {
{
-- Check that hooks start with three periods, followed by an acceptable
-- follow-on word.
"^ *%.%.%. *that",
"^ *%.%.%. *about",
},
{
-- Check that hooks end with a question mark, or another acceptable
-- phrase.
[[.%?%]*'*"? *$]],
[[.&#63;</span>%]*'*"? *$]],
"[Yy]ou probably did%.+ *$",
}
}
 
function p._isValidHook(hook)
-- Whether the given hook is valid.
-- We use the patterns in the validationPatternGroups table to find whether
-- a hook is valid or not. Hooks are treated as valid if they match at least
-- one pattern from each group.
for _, patternGroup in ipairs(validationPatternGroups) do
local found = false
for _, pattern in ipairs(patternGroup) do
if mw.ustring.find(hook, pattern) then
found = true
break
end
end
if not found then
return false
end
end
return true
end
 
function p.isValidHook(frame)
local hook = frame.args[1]
if not hook then
error("No hook specified")
end
hook = hook:match("^%s*(.*?)%s*$") -- Trim whitespace
if p._isValidHook(hook) then
return "yes"
else
return ""
end
end