Lompat ke isi

Modul:Wikibase: Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
k Ubah dari mw.wikibase.getEntity (deprecated) ke mw.wikibase.getEntityObject per perubahan MediaWiki terakhir
Perbarui sintaks LUA per versi terbaru dari modul yang bersangkutan.
Baris 1: Baris 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
if not mw.wikibase then
return "wikibase module not found"
return "no mw.wikibase"
end
end
entity = mw.wikibase.getEntityObject()

entity = mw.wikibase.getEntityObject()
if entity == nil then
if entity == nil then
return "no entity"
end
return "(no item connected)"
return entity.id
end
return entity.id
end
end

-- Return the label of a given data item.
-- 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)
function p.label(frame)
if frame.args[1] == nil then
if frame.args[1] == nil then
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
else
id = entity.id
id = mw.text.trim(frame.args[1])
else
end
id = frame.args[1]
return mw.wikibase.label( id )
end
return mw.wikibase.label( id )
end
end

-- Return the local page about a given data item.
-- 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)
function p.page(frame)
if frame.args[1] == nil then
if frame.args[1] == nil then
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
else
id = entity.id
id = mw.text.trim(frame.args[1])
else
end
id = frame.args[1]
return mw.wikibase.sitelink( id )
end
end

return mw.wikibase.sitelink( id )
-- 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

Revisi per 11 Mei 2018 19.35

---------- 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