Open main menu
Home
Random
Donate
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:XfD old/AfD and MfD
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
-- Various hacky solutions to allow AfD and MfD to show up on [[Template:XFD Backlog]] -- AfD is easy, as [[User:Mathbot]] already summarizes the total on each day local p = {} local lang = mw.getContentLanguage() function p.afd(frame) local month = frame.args.month local pat if month == "total" then pat = "%(([0-9]+) open" else month = lang:formatDate("Y F", month) pat = "%[%[Wikipedia:Articles for deletion/Log/" .. month .. "[^%]]*%]%] %(([0-9]+) open /" end local content = mw.title.new("Wikipedia:Articles for deletion/Old"):getContent() local count = 0 for daycount in content:gmatch(pat) do count = count + daycount end return count end -- MfD is much harder, because the only list of all active MfDs is the main -- [[Wikipedia:Miscellany for deletion]] page itself function p.mfd(frame) local month = frame.args.month local content = mw.title.new("Wikipedia:Miscellany for deletion"):getContent() local rightmonth = true local pat; if month ~= "total" then pat = lang:formatDate("^=== ?F [0-9]*, Y ?===$", month) rightmonth = false end local _, endindex = content:find("==Old business==") local count = 0 for line in mw.text.gsplit(content:sub(endindex,#content), "\n") do if line:find("{{Wikipedia:Miscellany for deletion/") and rightmonth then count = count + 1 elseif month == "total" then -- don't worry about month section headers elseif line:find(pat) then rightmonth = true elseif line:find("=== ?.* ?===") then -- A section header for the wrong month if rightmonth then -- We're now looking at MfDs before the month in question break end -- We still haven't reached the month in question yet end end return count end -- RfD is even worse, since I have to manually parse all log pages -- and "Old" discussions aren't displayed separately from "Current" ones function p.rfd(frame) local month = frame.args.month local content = mw.title.new("Wikipedia:Redirects for discussion"):getContent() -- First find the daily pages local ymd = require("Module:YMD to ISO")._main local lang = mw.getContentLanguage() local threshold = os.date("%F",os.time() - (86400*7)) local total = 0 for line in content:gmatch("{{Wikipedia:Redirects for discussion/Log/.-}}") do local datestamp = ymd(line:match("{{Wikipedia:Redirects for discussion/Log/(.-)}}")) if datestamp >= threshold then -- These dicussions aren't seven days old yet elseif month == "total" or month == lang:formatDate("F Y", datestamp) then local dayContent = mw.title.new(line:match("{{(.*)}}")):getContent() -- unreliable but performance is important local _, sectionHeads = dayContent:gsub("==== ?[^\n]- ?====", "") local _, closeBoxes = dayContent:gsub("boilerplate rfd vfd xfd%-closed", "") local _, relisted = dayContent:gsub("%[%[File:Symbol move vote.svg|16px|link=|alt=%]%] '''Relisted'''", "") total = total + (sectionHeads - closeBoxes - relisted) -- else discussion is wrong month end end return total end return p
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:XfD old/AfD and MfD/doc
(
edit
)