Editing
Module:XfD old/AfD and MfD
Jump to navigation
Jump to search
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 Eurovision Wiki 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
Eurovision Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Page included on this page:
Module:XfD old/AfD and MfD/doc
(
edit
)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Module
Discussion
English
Views
Read
Edit source
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information