Module:DisambiguationBuilder

From Conflict of Nations Wiki
Jump to navigation Jump to search

Documentation for this module may be created at Module:DisambiguationBuilder/doc

--------------------------------------------------------------------------------
-- Builds disambiguation pages, meant to be called with {{PAGENAME}} and expects
-- an argument of the form Country Name
--------------------------------------------------------------------------------
local returnValue = {}

function returnValue.interface(frame)
	local countryName = frame.args[1]
	return frame:preprocess(returnValue.buildWikitext("Module:Data/Disambiguation", countryName))
end

function returnValue.buildWikitext(source, entry)
	local dataSource = mw.loadData(source)
	if dataSource == nil then
		error("Data source not found")
		return
		end
	local wikitextData = dataSource[entry]
	if wikitextData == nil then
		return ""
		end
	local wikitext = "'''"..entry.."''' may refer to:"
	local numEntries = 0
	local mostRecentEntry = nil
	for dataIndex, data in ipairs(wikitextData) do
		wikitext = wikitext.."\n* [["..data.."]]"
		numEntries = numEntries + 1
		mostRecentEntry = data
		end
	if numEntries == 1 then
		return "#REDIRECT [["..mostRecentEntry.."]]"
		end
	return wikitext
	end

return returnValue