Module:Commons sitelink

Uit Wiki Raamsdonks Historie
Versie door Colani (overleg | bijdragen) op 28 dec 2022 om 10:07 (1 versie geïmporteerd)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)

Documentatie voor deze module kan aangemaakt worden op de volgende pagina: Module:Commons sitelink/doc

local p = {}

p.main = function(frame)
	local qid = frame.args.qid
		qid = (qid or ""):upper()
	if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end
	if not qid then return nil end
	local sitelink =  mw.wikibase.getSitelink(qid, "commonswiki")
	if sitelink and sitelink:sub(1,9) ~= "Category:" then sitelink = nil end
	if not sitelink then
		-- check for topic's main category
		local prop910 = mw.wikibase.getBestStatements(qid, "P910")[1]
		if prop910 then
			local tmcid = prop910.mainsnak.datavalue and prop910.mainsnak.datavalue.value.id
			sitelink = mw.wikibase.getSitelink(tmcid, "commonswiki")
		end
		if not sitelink then
			-- check for list's main category
			local prop1754 = mw.wikibase.getBestStatements(qid, "P1754")[1]
			if prop1754 then
				local tmcid = prop1754.mainsnak.datavalue and prop1754.mainsnak.datavalue.value.id
				sitelink = mw.wikibase.getSitelink(tmcid, "commonswiki")
			end
		end
	end
	if not sitelink then
		-- check for Commons category (string value)
		local prop373 = mw.wikibase.getBestStatements(qid, "P373")[1]
		if prop373 then
			sitelink = prop373.mainsnak.datavalue and prop373.mainsnak.datavalue.value
			if sitelink then sitelink = "Category:" .. sitelink end
		end
	end
	return sitelink
end

return p