Difference between revisions of "Module:Wikibase/sandbox"
Jump to navigation
Jump to search
blackwiki>Zyxw (test trim on args for "label", "description", and "page" functions) |
blackwiki>Zyxw (test) |
||
| Line 7: | Line 7: | ||
return "no mw.wikibase" | return "no mw.wikibase" | ||
end | end | ||
| − | |||
entity = mw.wikibase.getEntityObject() | entity = mw.wikibase.getEntityObject() | ||
| Line 13: | Line 12: | ||
return "no entity" | return "no entity" | ||
end | end | ||
| − | |||
return entity.id | return entity.id | ||
end | end | ||
| Line 20: | Line 18: | ||
-- if no argument is provided to this method. | -- if no argument is provided to this method. | ||
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 = mw.text.trim(frame.args[1]) | ||
| + | end | ||
| + | return mw.wikibase.label( id ) | ||
end | end | ||
| Line 26: | Line 31: | ||
-- if no argument is provided to this method. | -- if no argument is provided to this method. | ||
function p.description(frame) | function p.description(frame) | ||
| − | + | if frame.args[1] == nil then | |
| + | entity = mw.wikibase.getEntityObject() | ||
| + | if not entity then return nil end | ||
| + | id = entity.id | ||
| + | else | ||
| + | id = mw.text.trim(frame.args[1]) | ||
| + | end | ||
| + | return mw.wikibase.description( id ) | ||
end | end | ||
| Line 35: | Line 47: | ||
entity = mw.wikibase.getEntityObject() | entity = mw.wikibase.getEntityObject() | ||
if not entity then return nil end | if not entity then return nil end | ||
| − | |||
id = entity.id | id = entity.id | ||
else | else | ||
id = mw.text.trim(frame.args[1]) | id = mw.text.trim(frame.args[1]) | ||
end | end | ||
| − | |||
return mw.wikibase.sitelink( id ) | return mw.wikibase.sitelink( id ) | ||
end | end | ||
Revision as of 17:26, 24 April 2017
Documentation for this module may be created at Module:Wikibase/sandbox/doc
---------- 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)
if frame.args[1] == nil then
entity = mw.wikibase.getEntityObject()
if not entity then return nil end
id = entity.id
else
id = mw.text.trim(frame.args[1])
end
return mw.wikibase.label( id )
end
-- Return the description of a given data item, or of connected page
-- if no argument is provided to this method.
function p.description(frame)
if frame.args[1] == nil then
entity = mw.wikibase.getEntityObject()
if not entity then return nil end
id = entity.id
else
id = mw.text.trim(frame.args[1])
end
return mw.wikibase.description( id )
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 = mw.text.trim(frame.args[1])
end
return mw.wikibase.sitelink( id )
end
-- Return the data type of a property
function p.datatype(frame)
if frame.args[1] and string.find(frame.args[1], "Property:P") then
if mw.wikibase.getEntityObject(string.gsub(frame.args[1], "Property:P", "P")) then
return mw.wikibase.getEntityObject(string.gsub(frame.args[1], "Property:P", "P") ).datatype
end
elseif frame.args[1] and string.find(frame.args[1], "P") then
if mw.wikibase.getEntityObject(frame.args[1]) then
return mw.wikibase.getEntityObject(frame.args[1]).datatype
end
end
end
return p