Modul:Wikibase: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k Ubah dari mw.wikibase.getEntity (deprecated) ke mw.wikibase.getEntityObject per perubahan MediaWiki terakhir
Uzume (bicara | kontrib)
strict
 
(4 revisi perantara oleh 3 pengguna tidak ditampilkan)
Baris 1:
---------- Module:Wikibase ----------------
require('strict')
local p = {}
 
-- Return the itementity ID of the item linked to the current page.
function p.id(frame)
if not mw.wikibase then
return "no mw.wikibase module not found"
end
return mw.wikibase.getEntityIdForCurrentPage() or "no entity"
entity = mw.wikibase.getEntityObject()
if entity == nil then
return "(no item connected)"
end
return entity.id
end
 
-- Return the labelURL of aan entity given dataits entity item.ID
-- or the item linked to the current page if no argument is provided.
function p.wdurl(frame)
return mw.wikibase.getEntityUrl(frame.args[1] and mw.text.trim(frame.args[1])) -- defaults to entity URL of the item linked to the current page
end
 
-- Return the label of an entity given its entity ID
-- or the item linked to the current page if no argument is provided.
function p.label(frame)
return mw.wikibase.getLabel(frame.args[1] and mw.text.trim(frame.args[1])) -- defaults to label of the item linked to the current page
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 localdescription pageof aboutan aentity given dataits item.entity ID
-- or the item linked to the current page if no argument is provided.
function p.description(frame)
return mw.wikibase.getDescription(frame.args[1] and mw.text.trim(frame.args[1])) -- defaults to description of the item linked to the current page
end
 
-- Return the local title of an item given its entity ID
-- or the item linked to the current page if no argument is provided.
function p.page(frame)
local qid if= frame.args[1] ==and nil thenmw.text.trim(frame.args[1])
if not qid or qid == '' then
entity = mw.wikibase.getEntityObject()
qid = mw.wikibase.getEntityIdForCurrentPage() -- default the item connected to the current page
if not entity then return nil end
end
return mw.wikibase.getSitelink(qid or '') -- requires one string arg
id = entity.id
end
else
 
id = frame.args[1]
-- Return the data type of a property given its entity ID.
end
function p.datatype(frame)
local prop = mw.wikibase.getEntity(frame.args[1] and mw.text.trim(frame.args[1]):upper():gsub('PROPERTY:P', 'P')) -- trim and remove any "Property:" prefix
return mw.wikibase.sitelink( id )
return prop and prop.datatype
end
 
-- Returns true if property datavalue is found excluding novalue/somevalue and deprecated rank
function p.validProperty(frame)
local property = mw.text.trim(frame.args[1])
local item = frame.args.item or frame.args.from; if item == '' then item = nil end
if item == nil then item = mw.wikibase.getEntityIdForCurrentPage() end
if item == nil then return end
local properties = mw.wikibase.getBestStatements(item, property)
if #properties == 0 then return end
return properties[1].mainsnak.datavalue and true or nil
end
 
return p