Module:Endangered Languages Project: Difference between revisions
Appearance
Content deleted Content added
The Earwig (talk | contribs) removed <code> formatting, since they seem to be language names instead of codes in any usual sense (the proper code is an integer in the URL, but we don't need to display that to the reader) |
rm pseudo-reference per Template_talk:Infobox_language#ELP_and_Glottopedia_links |
||
Line 7: | Line 7: | ||
local elpf = "http://www.endangeredlanguages.com/lang/" -- or get P1630 |
local elpf = "http://www.endangeredlanguages.com/lang/" -- or get P1630 |
||
local make_display = function(elpc, elpn |
local make_display = function(elpc, elpn) |
||
return "[" .. elpf .. elpc .. " " .. elpn .. "]" |
|||
local ref = mw.getCurrentFrame():callParserFunction{ name = "#tag", args = pfargs } |
|||
return "[" .. elpf .. elpc .. " " .. elpn .. "]" .. ref |
|||
end |
end |
||
Line 34: | Line 32: | ||
local elpn = elpname or v.qualifiers["P1810"][1].datavalue and v.qualifiers["P1810"][1].datavalue.value |
local elpn = elpname or v.qualifiers["P1810"][1].datavalue and v.qualifiers["P1810"][1].datavalue.value |
||
if elpc and elpn then |
if elpc and elpn then |
||
out[#out+1] = make_display(elpc, elpn |
out[#out+1] = make_display(elpc, elpn) |
||
end |
end |
||
end |
end |
Revision as of 20:56, 5 March 2021
--[[
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