Module:Endangered Languages Project
--[[ 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((frame.args.qid or ""):upper()) or mw.wikibase.getEntityIdForCurrentPage()
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 "") .. "" end else if elpcode or elpname then return (elpcode or "") .. (elpname or "") .. "" 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