Mòdul:Wikibase: diferència entre les revisions

Contingut suprimit Contingut afegit
m 4 revisions importades de w:Mòdul:Wikibase
actualitzo de ca.wiki
 
Línia 3:
 
-- Return the item ID of the item linked to the current page.
-- mw.wikibase.getEntityIdForCurrentPage
function p.id(frame)
entity = return mw.wikibase.getEntityObjectgetEntityIdForCurrentPage()
if entity == nil then
return "cap"
end
return entity.id
end
 
-- Return the label of a given data item, optionally in a given language.
-- mw.wikibase.getLabel, mw.wikibase.getLabelByLang
function p.label(frame)
local id
if frame.args[1] == nil then
if entityframe.args[1] == nil then
entity = mw.wikibase.getEntityObject()
id = mw.wikibase.getEntityIdForCurrentPage()
if not entity then return nil end
if not entityid then return nil end
id = entity.id
else
id = mw.text.trim(frame.args[1])
end
if frame.args[2] then
return mw.wikibase.label( id )
return mw.wikibase.getLabelByLang(id, mw.text.trim(frame.args[2]))
end
return mw.wikibase.labelgetLabel( id )
end
 
-- Return the locallanguage pagecode aboutof the label of a given data item.
-- mw.wikibase.getLabelWithLang
function p.page(frame)
function p.label_lang(frame)
if frame.args[1] == nil then
local id
entity = mw.wikibase.getEntityObject()
if frame.args[1] == nil then
if not entity then return nil end
id = mw.wikibase.getEntityIdForCurrentPage()
id = entity.id
if not hasPropid then return nil end
else
id = mw.text.trim(frame.args[1])
end
return mw.wikibase.sitelink( id )
local _, lang = mw.wikibase.getLabelWithLang(id)
return lang
end
 
-- Return the description of a given data entity, optionally in a given language.
-- mw.wikibase.getDescription
function p.description(frame)
local id = frame.args[1] and mw.text.trim(frame.args[1]) or nil
local lang = frame.args[2] and mw.text.trim(frame.args[2]) or nil
local entity = mw.wikibase.getEntityObjectgetEntity(id)
if not entity then return nil end
return entity:getDescription(lang)
end
 
-- Return the local page about a given data item, optionary in a given wiki.
-- mw.wikibase.getSitelink
function p.page(frame) -- alias
return p.getSiteLink(frame)
end
 
function p.firstpropertygetSiteLink(frame)
local id = frame.args[1] and mw.text.trim(frame.args[1])
if id == nil or id == '' then
id = mw.wikibase.getEntityIdForCurrentPage()
if not id then return nil end
end
return mw.wikibase.getSitelink(id, mw.text.trim(frame.args[2] or ''))
end
 
-- Expansion of {{#if:{{#property:...}} }}
-- Return the first value of given property of the item linked to the current page.
-- returns the first value of given property or nil if not found, not isValidEntityId or novalue/somevalue
function p.firstproperty(frame)
-- mw.wikibase.isValidEntityId
local property = frame.args[1]
function p.validproperty(frame)
local entity = mw.wikibase.getEntityObject()
local property = mw.text.trim(frame.args[1])
if not entity then return nil end
local item = frame.args.item or frame.args.from; if notitem entity.claims== '' then returnitem = nil end
local hasProptype = entityframe.claims[property]args.type or "id"
local entity = mw.wikibase.getEntityObjectgetEntity(item)
if not hasProp then return nil end
if not entity then return nil end
return hasProp[0].mainsnak.datavalue.value
if not entity.claims then return end
local hasProp = entity.claims[property]
if not hasProp then return end
if not hasProp[1].mainsnak.datavalue then return end
if type == "value" then return hasProp[1].mainsnak.datavalue.value end
if not hasProp[1].mainsnak.datavalue.value.id then return end
if not mw.wikibase.isValidEntityId(hasProp[1].mainsnak.datavalue.value.id) then return end
return hasProp[01].mainsnak.datavalue.value.id
end