Module:Sandbox/Alex 21
Appearance
local p = {}
local function getTitle(...)
local success, titleObj = pcall(mw.title.new, ...)
if success then
return titleObj
else
return nil
end
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {frameOnly = true})
local template = args[2]
local parameter = args[4]
local templateCount = 0
local parameterCount = 0
local templateMatch = tonumber(args[3])
local parameterMatch = tonumber(args[5])
local titleObj = getTitle(args[1])
local articleContent = titleObj:getContent() or ""
local articleContentSplit = mw.text.split(articleContent, '\n')
for k,v in pairs(articleContentSplit) do
if string.match(v, '%{%{' .. template) ~= nil then
templateCount = templateCount + 1
end
if templateCount == templateMatch then
local parameterStringMatch = string.match(v, '%|%s*' .. parameter .. "%s*=(.+)")
if parameterStringMatch ~= nil then
parameterCount = parameterCount + 1
if parameterCount == parameterMatch then
return parameterStringMatch[1]
end
end
end
end
return ""
end
return p