Module:Sandbox/RexxS/GetImages

-- Draft version of a call to return images from Commons in a simple format

-- parameters are | propertyID | value / FETCH_WIKIDATA / nil | separator (default=space) | size (default=220px)

-- the caller assumes responsibility for ensuring the property is of type 'Commons media file'

local p = {}

p.getImages = function(frame)

local propertyID = mw.text.trim(frame.args[1] or "")

local input_parm = mw.text.trim(frame.args[2] or "")

local sep = mw.text.trim(frame.args[3] or " ")

local imgsize = mw.text.trim(frame.args[4] or "220px")

if input_parm == "FETCH_WIKIDATA" then

local entity = mw.wikibase.getEntityObject()

local claims

if entity and entity.claims then

claims = entity.claims[propertyID]

end

if claims then

if (claims[1] and claims[1].mainsnak.datatype == "commonsMedia") then

local out = {}

for k, v in pairs(claims) do

local filename = v.mainsnak.datavalue.value

out[#out + 1] = "" .. imgsize .. ""

end

return table.concat(out, sep)

else

return ""

end

else

return ""

end

else

return input_parm

end

end

return p