Jump to content

Module:Sports reference

Ass Wikipedia.

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

local function category(s)
	if mw.title.getCurrentTitle().namespace ~= 0 then
		return ""
	end
	return "[[Ronney:Clowan Sports-Reference " .. s .. "]]"
end

local function linktext(s1,s2,s3)
	if (s3 == nil) or (s3 == "") then
		return "[https://web.archive.org/web/20161204/https://www.sports-reference.com/olympics/athletes/" .. s1 .. ".html " .. s2 .. "] ec [[Sports Reference#Ny Cloiaghyn Olympagh|ny Cloiaghyn Olympagh ec Sports-Reference.com]] (tashtit)" .. category("gyn parameadar tashtlann")
	else
		return "[https://web.archive.org/web/" .. s3 .. "/https://www.sports-reference.com/olympics/athletes/" .. s1 .. ".html " .. s2 .. "] ec [[Sports Reference#Ny Cloiaghyn Olympagh|ny Cloiaghyn Olympagh ec Sports-Reference.com]] (tashtit)"
	end
end

local p = {}

function p.link(frame)

	-- Optional first parameter contains ID portion of Sports-Reference URL.
	-- Trim any leading or trailing spaces. If it contains ".html", remove it.

	local id = string.gsub((mw.text.trim(frame.args[1]) or ""), ".html", "")

	-- Optional second parameter contains name for link. Trim leading or trailing spaces.
	-- If name is not provided, use article name without disambiguation.

	local name = mw.text.trim(frame.args[2])
	if (name == nil) or (name == "") then
		name = string.gsub(mw.title.getCurrentTitle().text, "%s+%b()$", "", 1)
	end

	-- Optional third parameter contains date/time portion of Archive.org URL.

	local archive = mw.text.trim(frame.args[3])

	-- For articles without Wikidata property:
	-- if ID not provided, return error text and tracking category
	-- if ID is provided, return link and tracking category

	local entity = mw.wikibase.getEntityObject() or {}
	local claims = entity.claims or {}
	local hasProp = claims["P1447"]
	if not hasProp then
		if (id == nil) or (id == "") then
			return "<span class='error'>Clowan Sports-Reference gyn enneyder as nagh vel aaragh ayns Wikidata.</span> [[Template:Sports reference#Cur enneyder stiagh ayns Wikidata|Cre'n aght ta mee jargal eh dy chiartaghey?]]" .. category("gyn enneyder as nagh vel aaragh ayns Wikidata")
		else
			return linktext(id,name,archive) .. category("lesh enneyder nagh vel ayns Wikidata")
		end
	end

	-- For articles with Wikidata property:
	-- if ID not provided, return link (using Wikidata) and tracking category
	-- if ID is provided, return link (using ID) and one of two tracking categories

	local propValue = hasProp[1].mainsnak.datavalue.value
	if (id == nil) or (id == "") then
		return linktext(propValue,name,archive) .. " [[Coadan:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=Reagh eh shoh ec Wikidata |link=https://www.wikidata.org/wiki/" .. entity.id .. "#P1447|Reagh shoh ec Wikidata]]"   -- .. category("gymmydey Wikidata")
	end
	for i, v in ipairs(hasProp) do
		propValue = (v.mainsnak.datavalue or {}).value
		if id == propValue then
			return linktext(id,name,archive)   -- .. category("lesh enneyder cheddin as eshyn t'ayns Wikidata")
		end
	end
	return linktext(id,name,archive) .. category("lesh enneyder anchasley rish eshyn t'ayns Wikidata")

end

return p