Module:Discogs
Uiterlijk
Voor Sjabloon:Link Discogs.
local p = {}
local props = {
artist = 'P1953',
master = 'P1954',
label = 'P1955',
release = 'P2206',
};
local function arg(frame, key)
local arg = frame.args[key]
if arg and #arg > 0 then
return arg
end
end
function p.link(frame)
local id, soort, label
id = arg(frame, 'id') -- required iff there is no property on Wikidata
soort = arg(frame, 'soort') -- required (currently)
label = arg(frame, 'label') -- optional, defaults to {{PAGENAMEBASE}}
if not soort then
return frame:expandTemplate{ title='Error', args={
"Fout: ontbrekende waarde voor parameter '''soort'''. Verwacht wordt ''artist'', ''label'', ''master'' of ''release''"} }
end
local prop = props[soort]
if not prop then
return frame:expandTemplate{ title='Error', args={
"Fout: verkeerde waarde voor parameter '''soort'''. Verwacht wordt ''artist'', ''label'', ''master'' of ''release''"} }
end
if not id then
local entity = mw.wikibase.getEntity()
if entity then
local pv = entity:formatPropertyValues(prop)
if pv and pv.value and #pv.value > 0 then
id = pv.value
end
end
end
if not id then
return frame:expandTemplate{ title='Error', args={"Fout: geen ''id'' gevonden"} }
end
if not label then
label = frame:expandTemplate{ title='PAGENAMEBASE', args={} }
end
if soort == 'master' or soort == 'release' then
label = "''" .. label .. "''"
end
return frame:expandTemplate{ title='en', args={} } ..
' [https://www.discogs.com/' .. soort .. '/' .. id .. ' ' .. label ..
'] op [[Discogs]]'
end
return p