Module:Authority-control
Documentation for this module may be created at Module:Authority-control/doc
local PROP_FORMATTER_URL = 'P1630'
local p = {}
p.main = function( frame )
if frame.args.wikidata == nil or frame.args.wikidata == '' then
return ''
end
local item = mw.ext.UnlinkedWikibase.getEntity( frame.args.wikidata )
if item.id == nil then
return ''
end
local out = {
'Wikidata: [[wikidata:' .. item.id .. '|' .. item.id .. ']]'
}
for _,claim in pairs( item.claims ) do
for snakNum,snak in pairs( claim ) do
if snak.mainsnak.datatype == 'external-id' and snak.mainsnak.snaktype == 'value' then
local value = snak.mainsnak.datavalue.value
local authControlItem = mw.ext.UnlinkedWikibase.getEntity( snak.mainsnak.property )
if authControlItem.claims[PROP_FORMATTER_URL] ~= nil then
local url = string.gsub( authControlItem.claims[PROP_FORMATTER_URL][1].mainsnak.datavalue.value, '$1', value )
value = '[' .. url .. ' ' .. value .. ']'
end
out[#out + 1] = authControlItem.labels.en.value .. ': ' .. value
end
end
end
return "<div class='mdl-authority-control'>"
.. "'''Authority control:''' "
.. table.concat( out, '; ' )
.. '</div>'
end
return p