Module:Database reports/WikiProject edit count
Appearance
This report provides a count of edits to the in-project pages of a WikiProject in the past 30 days, excluding talk pages and edits made by bots. This is recalculated automatically on a daily basis. Sample usage can be seen on User:StefenTower/WPKYEditcountLua.
DEVELOPMENT VERSION NOT YET READY FOR REGULAR USE. PLEASE STAND BY.
The result can be formatted by creating subpage /countfmt, which is supplied the count in raw form by {{{1}}}.
Usage
[edit]{{Database report
| lua_source = Module:Database reports/WikiProject edit count
| lua_arg_pap_project_title = United States/WikiProject Kentucky <!-- Project name as coded in PageAssessments -->
}}
local Report = require('Module:Database report')
local Arguments = require('Module:Arguments')
local p = {}
p.main = function(frame)
local args = Arguments.getArgs(frame)
local report = Report:new()
report:setSQL([[
WITH botlist AS
(
SELECT actor_name AS bot_name
FROM actor
JOIN user_groups ON ug_user = actor_user
WHERE ug_group = 'bot'
)
SELECT COUNT(*) AS 'Edit Count'
FROM page_assessments_projects
JOIN page_assessments ON pa_project_id = pap_project_id
JOIN revision ON rev_page = pa_page_id AND rev_timestamp > (NOW() - INTERVAL 30 DAY)
JOIN actor_revision ON actor_id = rev_actor AND actor_name NOT IN (SELECT bot_name from botlist)
WHERE pap_project_title = "]] .. args.pap_project_title .. [["; -- substitute project name as coded in PageAssessments
]])
report:setInterval(1)
report:setSilent(true)
report:setRowTemplate("/countfmt") -- how you would like to format/display the count, supplied in raw form as {{{1}}}
report:skipTable(true)
return report:generate()
end
return p