Module:Wikidata: Difference between revisions
Jump to navigation
Jump to search
>RexxS (rename to generalise input parameter; add birthplace) |
>RexxS (try to generalise function call by supplying an extra parameter) |
||
Line 36: | Line 36: | ||
end | end | ||
end | end | ||
p.getValue = function(frame) | |||
local propertyID = mw.text.trim(frame.args[1] or "") | |||
local input_parm = mw.text.trim(frame.args[2] or "") | |||
if input_parm == "FETCH_WIKIDATA" then | |||
local entity = mw.wikibase.getEntity() | |||
if entity.claims[propertyID] ~= nil then | |||
local out = {} | |||
for k, v in pairs(entity.claims[propertyID]) do | |||
out[#out + 1] = "[[" .. mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) .. "]]" | |||
end | |||
return table.concat(out, ", ") | |||
else | |||
return "" | |||
end | |||
else | |||
return input_parm | |||
end | |||
end | |||
return p | return p |
Revision as of 09:46, 26 August 2013
Documentation for this module may be created at Module:Wikidata/doc
local p = {} p.getSpouse = function(frame) local input_parm = mw.text.trim(frame.args[1] or "") if input_parm == "FETCH_WIKIDATA" then local entity = mw.wikibase.getEntity() if entity.claims.p26 ~= nil then local out = {} for k, v in pairs(entity.claims.p26) do out[#out + 1] = "[[" .. mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) .. "]]" end return table.concat(out, ", ") else return "" end else return input_parm end end p.getBirthPlace = function(frame) local input_parm = mw.text.trim(frame.args[1] or "") if input_parm == "FETCH_WIKIDATA" then local entity = mw.wikibase.getEntity() if entity.claims.p19 ~= nil then local out = {} for k, v in pairs(entity.claims.p19) do out[#out + 1] = "[[" .. mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) .. "]]" end return table.concat(out, ", ") else return "" end else return input_parm end end p.getValue = function(frame) local propertyID = mw.text.trim(frame.args[1] or "") local input_parm = mw.text.trim(frame.args[2] or "") if input_parm == "FETCH_WIKIDATA" then local entity = mw.wikibase.getEntity() if entity.claims[propertyID] ~= nil then local out = {} for k, v in pairs(entity.claims[propertyID]) do out[#out + 1] = "[[" .. mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) .. "]]" end return table.concat(out, ", ") else return "" end else return input_parm end end return p