Difference between revisions of "Module:sandbox/wikibase"

From Rhizome Artbase
Line 21: Line 21:
 
-- if no argument is provided to this method.
 
-- if no argument is provided to this method.
 
function p.label(frame)
 
function p.label(frame)
return mw.wikibase.label( frame.args[1] )
+
    local item_label = mw.wikibase.label( frame.args[1] )
 +
  return item_label
 
end
 
end
  
Line 28: Line 29:
 
     return mw.wikibase.resolvePropertyId( frame.args[1] )     
 
     return mw.wikibase.resolvePropertyId( frame.args[1] )     
 
end     
 
end     
 +
 +
 +
function p.getItem(frame)
 +
    local item = mw.wikibase.getEntityObject( "Q1996" )
 +
    local instance_of = item.formatPropertyValues( "P3" )
 +
    return instance_of.value
 +
end
  
  

Revision as of 01:06, 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)
    return mw.wikibase.resolvePropertyId( frame.args[1] )    
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