Module:Article by Quality and Importance
Appearance
require('strict')
local getArgs = require('Module:Arguments').getArgs
local p = {}
local function genQuery(str)
local queryStr = ''
local quality, importance = mw.ustring.match(str, '^([^,]*)%s*,%s*(.*)$')
if quality ~= '' then
queryStr = '%?quality=' .. quality .. '%-Class'
queryStr = queryStr .. (importance ~= '' and '&' or '')
else
queryStr = importance ~= '' and '%?' or ''
end
if importance ~= '' then
importance = importance == '???' and 'Unknown' or importance
queryStr = queryStr .. 'importance=' .. importance .. '%-Class'
end
queryStr = '/articles' .. queryStr .. '%s+' .. '([0-9,]+)%]'
return queryStr
end
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
local text = mw.title.new('User:WP 1.0 bot/Tables/Project/' .. args.subpage):getContent()
local sum, count = 0, 0
for _, v in ipairs(args) do
count = mw.ustring.match(text, genQuery(v)) or 0
count = mw.ustring.gsub(count, ',', '')
sum = sum + count
end
return sum
end
return p