Module:Wikibase

From blackwiki
Revision as of 15:16, 28 August 2015 by blackwiki>Aude (pass argument of p.label directly to mw.wikibase.label (if it is nil, then mw.wikibase.label defaults to use the connected item, without having to resolve it here))
Jump to navigation Jump to search


This module is copied from the example from the module documentation at mw:Extension:Wikibase Client/Lua. It should be kept consistent with that documentation, rather than being adapted further for use on Wikipedia.

Usage

id
{{#invoke: Wikibase | id }}
wdurl
{{#invoke: Wikibase | wdurl }}
{{#invoke: Wikibase | wdurl | entity id (Q# or P#) }}
label
{{#invoke: Wikibase | label }}
{{#invoke: Wikibase | label | entity id (Q# or P#) }}
description
{{#invoke: Wikibase | description }}
{{#invoke: Wikibase | description | entity id (Q# or P#) }}
page
{{#invoke: Wikibase | page }}
{{#invoke: Wikibase | page | item id (Q#) }}
datatype
{{#invoke: Wikibase | datatype | property id (P#) }}

Examples

id

  • {{#invoke:Wikibase | id }} → no mw.wikibase

wdurl

  • {{#invoke:Wikibase | wdurl }}Script error: The function "wdurl" does not exist.
  • {{#invoke:Wikibase | wdurl | Q132689 }}Script error: The function "wdurl" does not exist.
  • {{#invoke:Wikibase | wdurl | P31 }}Script error: The function "wdurl" does not exist.

label

  • {{#invoke:Wikibase | label }}Lua error at line 22: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | label | Q132689 }}Lua error at line 22: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | label | P31 }}Lua error at line 22: attempt to index field 'wikibase' (a nil value).

description

  • {{#invoke:Wikibase | description }}Script error: The function "description" does not exist.
  • {{#invoke:Wikibase | description | Q132689 }}Script error: The function "description" does not exist.
  • {{#invoke:Wikibase | description | P31 }}Script error: The function "description" does not exist.

page

  • {{#invoke:Wikibase | page }}Lua error at line 29: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | page | Q132689 }}Lua error at line 37: attempt to index field 'wikibase' (a nil value).

datatype

⧼datatypes-type-commonsMedia⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P18 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P18 }}Script error: The function "datatype" does not exist.

⧼datatypes-type-globe-coordinate⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P625 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P625 }}Script error: The function "datatype" does not exist.

⧼datatypes-type-wikibase-item⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P6 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P6 }}Script error: The function "datatype" does not exist.

⧼datatypes-type-wikibase-property⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P1647 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P1647 }}Script error: The function "datatype" does not exist.

⧼datatypes-type-string⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P225 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P225 }}Script error: The function "datatype" does not exist.

⧼datatypes-type-monolingualtext⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P1448 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P1448 }}Script error: The function "datatype" does not exist.

⧼datatypes-type-quantity⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P1082 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P1082 }}Script error: The function "datatype" does not exist.

⧼datatypes-type-time⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P569 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P569 }}Script error: The function "datatype" does not exist.

⧼datatypes-type-url⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P856 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P856 }}Script error: The function "datatype" does not exist.

⧼datatypes-type-math⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P2534 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P2534 }}Script error: The function "datatype" does not exist.

⧼datatypes-type-external-id⧽: Template:Wpl

  • {{#invoke:Wikibase | datatype | P212 }}Script error: The function "datatype" does not exist.
  • {{#invoke:Wikibase | datatype | Property:P212 }}Script error: The function "datatype" does not exist.

-- 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()

	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)
	return mw.wikibase.label( frame.args[1] )
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