Module:Endangered Languages Project

local p = {}

local elpf = "https://www.endangeredlanguages.com/lang/" -- or get P1630

local tidy_param = function(param) if param == "" then param = nil end return param end

p.make_entry = function(frame) local out = {} local make_display = function(elpc, elpn) if elpc and elpn then table.insert(out, "[" .. elpf .. elpc .. " " .. elpn ..	"]") elseif elpc or elpn then table.insert(out, (elpc or "") .. (elpn or "") .. "") end end local elpname = tidy_param(frame.args.elpname) local elpcode = tidy_param(frame.args.elpcode) local qid = tidy_param((frame.args.qid or ""):upper) or mw.wikibase.getEntityIdForCurrentPage make_display(elpcode, elpname) if qid then local props = mw.wikibase.getBestStatements(qid, "P2192") if props[1] then for _, v in ipairs(props) do				local elpc = v.mainsnak.datavalue and v.mainsnak.datavalue.value local elpn = v.qualifiers and v.qualifiers.P1810 and v.qualifiers.P1810[1].datavalue and v.qualifiers.P1810[1].datavalue.value make_display(elpc, elpn) end end end local ret = "" if #out > 1 then return frame:expandTemplate{title = "ubl", args = out} elseif #out==1 then return out[1] end end

return p