Difference between revisions of "Module:Wikibase"
Jump to navigation
Jump to search
blackwiki>Legoktm (hmm) |
blackwiki>George Orwell III (trim whitespace & tabify; no change to actual content) |
||
| Line 1: | Line 1: | ||
-- Module:Wikibase | -- Module:Wikibase | ||
local p = {} | local p = {} | ||
| − | + | ||
-- Return the item ID of the item linked to the current page. | -- Return the item ID of the item linked to the current page. | ||
function p.id(frame) | 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 | end | ||
| − | + | ||
-- Return the label of a given data item. | -- Return the label of a given data item. | ||
function p.label(frame) | 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 | end | ||
| − | + | ||
-- Return the local page about a given data item. | -- Return the local page about a given data item. | ||
function p.page(frame) | 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 | end | ||
| − | + | ||
return p | return p | ||
Revision as of 00:45, 24 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 }}→ 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 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 "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.
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