Module:Endangered Languages Project: Difference between revisions
From Thetacola Wiki
Jump to navigationJump to search
(Created page with "--Module:Endangered Languages Project -- local p = {} local elpf = "http://www.endangeredlanguages.com/lang/" -- or get P1630 local make_display = function(elpc, elpn) return "[" .. elpf .. elpc .. " " .. elpn .. "]" end local tidy_param = function(param) if param == "" then param = nil end return param end p.make_entry = function(frame) local elpname = tidy_param(frame.args.elpname) local elpcode = tidy_param(frame.args.elpcode) local qid = tidy_param((...") |
No edit summary |
||
Line 19: | Line 19: | ||
local elpname = tidy_param(frame.args.elpname) | local elpname = tidy_param(frame.args.elpname) | ||
local elpcode = tidy_param(frame.args.elpcode) | local elpcode = tidy_param(frame.args.elpcode) | ||
local qid = | local qid = nil | ||
local out = {} | local out = {} |
Latest revision as of 00:00, 15 August 2022
Documentation for this module may be created at Module:Endangered Languages Project/doc
--[[ Module:Endangered Languages Project --]] local p = {} local elpf = "http://www.endangeredlanguages.com/lang/" -- or get P1630 local make_display = function(elpc, elpn) return "[" .. elpf .. elpc .. " " .. elpn .. "]" end local tidy_param = function(param) if param == "" then param = nil end return param end p.make_entry = function(frame) local elpname = tidy_param(frame.args.elpname) local elpcode = tidy_param(frame.args.elpcode) local qid = nil local out = {} if elpcode and elpname then out[#out+1] = make_display(elpcode, elpname) else if qid then local props = mw.wikibase.getBestStatements(qid, "P2192") if props[1] then for i, v in ipairs(props) do local elpc = elpcode or v.mainsnak.datavalue and v.mainsnak.datavalue.value local elpn = elpname or v.qualifiers["P1810"][1].datavalue and v.qualifiers["P1810"][1].datavalue.value if elpc and elpn then out[#out+1] = make_display(elpc, elpn) end end elseif elpcode or elpname then return (elpcode or "") .. (elpname or "") .. "[[Category:Language articles with missing ELP parameters]]" end else if elpcode or elpname then return (elpcode or "") .. (elpname or "") .. "[[Category:Language articles with missing ELP parameters]]" end end end local ret = "" if #out > 1 then ret = frame:expandTemplate{title = "ubl", args = out} else ret = out[1] end return ret end return p