Module:Wikidata: Difference between revisions
Jump to navigation
Jump to search
>RexxS (catch the script error if the spouse property P26 doesn't exist for this article - just show a message) |
>RexxS (test against nil, rather than empty string) |
||
Line 4: | Line 4: | ||
local spouse_input = mw.text.trim(frame.args[1] or "") | local spouse_input = mw.text.trim(frame.args[1] or "") | ||
if spouse_input == "FETCH_WIKIDATA" then | if spouse_input == "FETCH_WIKIDATA" then | ||
local entity = mw.wikibase.getEntity() | local entity = mw.wikibase.getEntity() | ||
if entity.claims.p26 | if entity.claims.p26 ~= nil then | ||
local out = {} | local out = {} | ||
for k, v in pairs(entity.claims.p26) do | for k, v in pairs(entity.claims.p26) do | ||
out[#out + 1] = "[[" .. mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) .. "]]" | out[#out + 1] = "[[" .. mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) .. "]]" | ||
end | end | ||
return table.concat(out, ", ") | return table.concat(out, ", ") | ||
else | else |
Revision as of 13:58, 25 August 2013
Documentation for this module may be created at Module:Wikidata/doc
local p = {} p.getSpouse = function(frame) local spouse_input = mw.text.trim(frame.args[1] or "") if spouse_input == "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 "Not Found" end else return spouse_input end end return p