Module:WLM India Wikidata ID

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Lua
CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules

Documentation for this module may be created at Module:WLM India Wikidata ID/doc

Code

local wlm = {}

-- Example usage:
-- {{#invoke:Cultural Heritage Finland wikidata id|get|wikidata=Q9321305}}
-- {{#invoke:Cultural Heritage Finland wikidata id|get|wikidata=Q30506316}}

-- Render Wikidata and rkylinks
function render_row(wikidata, property, value)
    if property=="P757" then
		ret = "{{World Heritage Site|".. value .."}}"
	elseif property=="P5094" then
		ret = "{{HPIP Monument|" .. value .. "}}"
	else
		ret=""
	end
	
	return ret;
end

function wlm.get(frame)
	local id= frame.args['wikidata']
	local out=""
	local valid_wlm_target=false

	if id == nil or id == "" then
		entity = mw.wikibase.getEntityObject()
	else
		entity =  mw.wikibase.getEntityObject(id);
	end
	
	if not entity or not entity.claims then
		return nil
	end	
	
	out="{{On Wikidata|" .. entity.id .. "}}";
	
	local properties={"P757", "P5094" }
	for i, prop in ipairs(properties) do
		-- use direct P1371 value if it exists
		if entity.claims[prop] then
			for i, j in pairs(entity.claims[prop]) do
				out=out .. render_row(entity.id, prop, j["mainsnak"]["datavalue"]["value"])
				valid_wlm_target=true;
			end
		end
	end
	
		
	return frame:preprocess(out);
end 
return wlm