Jump to content

Module:Professional wrestling profiles/sandbox

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Edgars2007 (talk | contribs) at 21:15, 7 July 2016 (as usual - silly mistake). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
local data = {
	{"cagematch", "http://www.cagematch.net/?id=2&nr=$1", "Cagematch.net", "P2728"},
	{"wrestlingdata", "http://wrestlingdata.com/index.php?befehl=bios&wrestler=$1", "Wrestlingdata.com", "P2764"},
	{"iwd", "http://www.profightdb.com/wrestlers/$1.html", "Internet Wrestling Database", "P2829"}
}

local p = {}
local categories = {}
local entity = mw.wikibase.getEntityObject()
local yesno = require('Module:Yesno')
local getArgs = require('Module:Arguments').getArgs

function getValue(param,wd)
	local para,wd = param,wd
	
	if para then
		value = para
	elseif entity then
		if entity.claims[wd] then
			local mainsnak = entity.claims[wd][1].mainsnak
		
			if mainsnak.snaktype == 'value' then
				value = mainsnak.datavalue.value
			end
		end
	end

return value or ''

end

function p._profiles(args)
	local title = mw.title.getCurrentTitle()
	local name = args.name or string.gsub(title.text, " %b()", "")
	local prefix = ''
	local text
	local letter = string.sub(name,-1)
	local out = {}
	
	for _,v in ipairs(data) do
		local param, link, title, wdid = unpack(v)
		--local param = args[v[1]]
		--local link = v[2]
		--local wdid = v[3]
		param = args[param]
		value = getValue(param,wdid)

		if value ~='' then
			out[#out+1] = "[" .. string.gsub(link, "$1",value) .. ' ' .. title .. "]"
		end
			
	end
	
	if letter=='s' then
		text = name .. "'"
	else
		text = name .. "'s"
	end
	
	if out[1] then
		prefix = text .. ' profile at '
	end
	
	return prefix .. mw.text.listToText(out, ', ', ', ' )
end	

function p.profiles(frame)
	local args = getArgs(frame)
	return p._profiles(args)
end

return p