Difference between revisions of "Module:Wikibase"
Jump to navigation
Jump to search
blackwiki>Mr. Stradivarius (return the blank string on error from p.id to make it easier to use it with the #if parser function) |
blackwiki>Legoktm (use getEntityObject) |
||
| Line 8: | Line 8: | ||
end | end | ||
| − | entity = mw.wikibase. | + | entity = mw.wikibase.getEntityObject() |
if entity == nil then | if entity == nil then | ||
| Line 20: | Line 20: | ||
function p.label(frame) | function p.label(frame) | ||
if frame.args[1] == nil then | if frame.args[1] == nil then | ||
| − | entity = mw.wikibase. | + | entity = mw.wikibase.getEntityObject() |
if not entity then return nil end | if not entity then return nil end | ||
| Line 34: | Line 34: | ||
function p.page(frame) | function p.page(frame) | ||
if frame.args[1] == nil then | if frame.args[1] == nil then | ||
| − | entity = mw.wikibase. | + | entity = mw.wikibase.getEntityObject() |
if not entity then return nil end | if not entity then return nil end | ||
Revision as of 23:09, 22 July 2014
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 }}→
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 30: attempt to index field 'wikibase' (a nil value).{{#invoke:Wikibase | label | P31 }}→ Lua error at line 30: 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 36: attempt to index field 'wikibase' (a nil value).{{#invoke:Wikibase | page | Q132689 }}→ Lua error at line 44: 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 ""
end
entity = mw.wikibase.getEntityObject()
if entity == nil then
return ""
end
return entity.id
end
-- Return the label of a given data item.
function p.label(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.label( id )
end
-- Return the local page about a given data item.
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