Difference between revisions of "Module:LatestAfD"

From blackwiki
Jump to navigation Jump to search
blackwiki>Swpb
blackwiki>Swpb
Line 2: Line 2:
  
 
function p.latestafd(frame)
 
function p.latestafd(frame)
input = frame.args[1]
+
local input = frame.args[1]
 
local lang = mw.language.getContentLanguage()
 
local lang = mw.language.getContentLanguage()
 
local page = lang:ucfirst(input)
 
local page = lang:ucfirst(input)
Line 15: Line 15:
 
output = "[[" .. base_string .. "]]"
 
output = "[[" .. base_string .. "]]"
 
else
 
else
afd_num = 1
+
local afd_num = 1
latest = false
+
local latest = false
 
while not latest do
 
while not latest do
next_ordinal = frame:expandTemplate{ title = 'ordinal', args = { afd_num + 1 } }
+
local next_ordinal = frame:expandTemplate{ title = 'ordinal', args = { afd_num + 1 } }
next_title = mw.title.new(base_string .. " (" .. next_ordinal .. " nomination)")
+
local next_title = mw.title.new(base_string .. " (" .. next_ordinal .. " nomination)")
 
if not next_title.exists then
 
if not next_title.exists then
 
latest = true
 
latest = true
ordinal = frame:expandTemplate{ title = 'ordinal', args = { afd_num } }
+
local ordinal = frame:expandTemplate{ title = 'ordinal', args = { afd_num } }
 
output = "[[" .. base_string .. " (" .. ordinal .. " nomination)]]"
 
output = "[[" .. base_string .. " (" .. ordinal .. " nomination)]]"
 
end
 
end

Revision as of 18:44, 30 May 2017

Implements {{LatestAfD}}, which links to the most recent AfD discussion for the specified article.



local p = {}

function p.latestafd(frame)
	local input = frame.args[1]
	local lang = mw.language.getContentLanguage()
	local page = lang:ucfirst(input)
	local base_string = "Wikipedia:Articles for deletion/" .. page

	local base_title = mw.title.new(base_string)
	local afd2_title = mw.title.new(base_string .. " (2nd nomination)")

	if not base_title.exists then
		output = frame:expandTemplate{ title = 'error', args = { 'Warning: No AfD discussion exists for the linked article.' } }
	elseif not afd2_title.exists then
		output = "[[" .. base_string .. "]]"
	else
		local afd_num = 1
		local latest = false
		while not latest do
			local next_ordinal = frame:expandTemplate{ title = 'ordinal', args = { afd_num + 1 } }
			local next_title = mw.title.new(base_string .. " (" .. next_ordinal .. " nomination)")
			if not next_title.exists then
				latest = true
				local ordinal = frame:expandTemplate{ title = 'ordinal', args = { afd_num } }
				output = "[[" .. base_string .. " (" .. ordinal .. " nomination)]]"
			end
			afd_num = afd_num + 1
		end
	end
	return output
end

return p