1,144 bytes added
	
		,  19:20, 8 July 2021
	
 
require('Module:No globals')
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