Jump to content

Module:Other people/sandbox

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Nihiltres (talk | contribs) at 01:23, 16 May 2016 (This *should* fix the bugs…). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
local mOtheruses = require('Module:Other uses')
local mArguments = require('Module:Arguments')
local compressArray = require('Module:TableTools').compressSparseArray
local p = {}

function p.otherPeople (frame)
	--Get arguments
	local args = mArguments.getArgs(frame)
	local named = args.named
	local args = args[1] and compressArray(args) or
		table.insert(compressArray(args), 1, nil)
	-- Assemble arguments and return
	local title = args[1] or mw.title.getCurrentTitle().text
	local options = {
		title = title,
		defaultPage = args[2],
		otherText = (args[2] and not args[1] and 'people with the same name') or
			string.format('people %s %s', named or 'named', title)
	}
	-- Don't pass args[1] through as a target page. Manual downshift because Lua
	-- expectation of sequences means table.remove() doesn't necessarily work
	for i = 2, math.max(table.maxn(args), 2) do
		args[i - 1] = args[i]
		args[i] = nil
	end
	return mOtheruses._otheruses(args, options)
end

return p