Module:Endangered Languages Project

Mula sa Wikipedia, ang malayang ensiklopedya
Dokumentasyon sa module [gumawa]
--[[
 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 "") .. "[[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