Module:Wikibase: Difference between revisions
m (7 revisions imported) |
m (1 revision imported) |
||
| (One intermediate revision by one other user not shown) | |||
| 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 | |||
end | |||
return entity.id | -- Return the WD entity URL of a given data item, or of connected page | ||
-- if no argument is provided to this method. | |||
function p.wdurl(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.getEntityUrl( id ) | |||
end | end | ||
| Line 20: | Line 31: | ||
-- 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. | 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 44: | ||
-- if no argument is provided to this method. | -- if no argument is provided to this method. | ||
function p.description(frame) | function p.description(frame) | ||
return mw. | 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 60: | ||
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 = frame.args[1] | id = mw.text.trim(frame.args[1]) | ||
end | end | ||
return mw.wikibase.sitelink( id ) | |||
end | |||
return mw.wikibase. | -- 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 | end | ||
return p | return p | ||
Latest revision as of 16:32, 19 September 2017
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 WD entity URL of a given data item, or of connected page -- if no argument is provided to this method. function p.wdurl(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.getEntityUrl( 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