Difference between revisions of "Module:sandbox/wikibase"

From Rhizome Artbase
 
Line 27: Line 27:
 
--return a property Id for given label or ID
 
--return a property Id for given label or ID
 
function p.property(frame)
 
function p.property(frame)
     return mw.wikibase.resolvePropertyId( frame.args[1] )  
+
     local prop_id = mw.wikibase.resolvePropertyId( frame.args[1] )
 +
    return prop_id 
 
end     
 
end     
  

Latest revision as of 01:12, 12 May 2016

testing wikibase modules


---------- Module:Wikibase ----------------

local p = {}

-- Return the item ID of the item linked to the current page.
function p.id(frame)
	if not mw.wikibase then
		return "no mw.wikibase"
	end

	entity = mw.wikibase.getEntityObject( frame.args[1] )

	if entity == nil then
		return "no entity"
	end

	return entity.id
end

-- Return the label of a given data item, or of connected page
-- if no argument is provided to this method.
function p.label(frame)
    local item_label = mw.wikibase.label( frame.args[1] )
   return item_label
end

--return a property Id for given label or ID
function p.property(frame)
    local prop_id = mw.wikibase.resolvePropertyId( frame.args[1] )  
    return prop_id  
end    


function p.getItem(frame)
    local item = mw.wikibase.getEntityObject( "Q1996" )
    local instance_of = item.formatPropertyValues( "P3" )
    return instance_of.value
end


-- Return the local page about a given data item, or of connected page
-- if id is not specified.
function p.page(frame)
	if frame.args[1] == nil then
		entity = mw.wikibase.getEntityObject()
		if not entity then return nil end

		id = entity.id
	else
		id = frame.args[1]
	end

	return mw.wikibase.sitelink( id )
end

return p