Difference between revisions of "Module:LatestAfD"

From blackwiki
Jump to navigation Jump to search
blackwiki>Swpb
m (Swpb moved page Module:Sandbox/Swpb/LatestAfD to Module:LatestAfD without leaving a redirect)
m (53 revisions imported)
 
(5 intermediate revisions by one other user not shown)
Line 2: Line 2:
  
 
function p.latestafd(frame)
 
function p.latestafd(frame)
 +
 +
if frame.args[2] then
 +
display = "|" .. frame.args[2]
 +
else
 +
display = ""
 +
end
 +
 
local input = frame.args[1]
 
local input = frame.args[1]
 
local lang = mw.language.getContentLanguage()
 
local lang = mw.language.getContentLanguage()
Line 13: Line 20:
 
output = frame:expandTemplate{ title = 'error', args = { 'Warning: No AfD discussion exists for the linked article.' } }
 
output = frame:expandTemplate{ title = 'error', args = { 'Warning: No AfD discussion exists for the linked article.' } }
 
elseif not afd2_title.exists then
 
elseif not afd2_title.exists then
output = "[[" .. base_string .. "]]"
+
output = "[[" .. base_string .. display .. "]]"
 
else
 
else
local afd_num = 1
+
local afd_num = 2
 
local latest = false
 
local latest = false
 
while not latest do
 
while not latest do
Line 23: Line 30:
 
latest = true
 
latest = true
 
local 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)" .. display .. "]]"
 
end
 
end
 
afd_num = afd_num + 1
 
afd_num = afd_num + 1

Latest revision as of 06:11, 27 September 2020

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



local p = {}

function p.latestafd(frame)

	if frame.args[2] then
		display = "|" .. frame.args[2]
	else
		display = ""
	end

	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 .. display .. "]]"
	else
		local afd_num = 2
		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)" .. display .. "]]"
			end
			afd_num = afd_num + 1
		end
	end
	return output
end

return p