Module:Article by Quality and Importance

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