Module:Endangered Languages Project/sandbox: Difference between revisions
Appearance
Content deleted Content added
i not used |
try imp |
||
Line 1: | Line 1: | ||
--[[ |
|||
Module:Endangered Languages Project |
|||
--]] |
|||
local p = {} |
local p = {} |
||
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 .. "]" |
return "[" .. elpf .. elpc .. " " .. elpn .. "]" |
||
Line 20: | Line 15: | ||
local elpcode = tidy_param(frame.args.elpcode) |
local elpcode = tidy_param(frame.args.elpcode) |
||
local qid = tidy_param((frame.args.qid or ""):upper()) or mw.wikibase.getEntityIdForCurrentPage() |
local qid = tidy_param((frame.args.qid or ""):upper()) or mw.wikibase.getEntityIdForCurrentPage() |
||
local out = {} |
local out = {} |
||
if elpcode and elpname then |
if elpcode and elpname then |
||
Line 35: | Line 29: | ||
end |
end |
||
end |
end |
||
⚫ | |||
⚫ | |||
end |
end |
||
elseif elpcode or elpname then |
|||
return (elpcode or "") .. (elpname or "") .. "[[Category:Language articles with missing ELP parameters]]" |
|||
end |
end |
||
end |
end |
||
local ret = "" |
local ret = "" |
||
if #out > 1 then |
if #out > 1 then |
||
return frame:expandTemplate{title = "ubl", args = out} |
|||
elseif #out==1 then |
|||
else |
|||
return out[1] |
|||
⚫ | |||
⚫ | |||
end |
end |
||
return ret |
return ret |
||
end |
end |
Revision as of 10:06, 6 March 2024
![]() | This is the module sandbox page for Module:Endangered Languages Project (diff). |
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
table.insert(out, make_display(elpcode, elpname))
else
if qid then
local props = mw.wikibase.getBestStatements(qid, "P2192")
if props[1] then
for _, v in ipairs(props) do
local elpc = elpcode or v.mainsnak.datavalue and v.mainsnak.datavalue.value
local elpn = elpname or v.qualifiers and v.qualifiers.P1810 and v.qualifiers.P1810[1].datavalue and v.qualifiers.P1810[1].datavalue.value
if elpc and elpn then
table.insert(out, make_display(elpc, elpn))
end
end
end
end
end
local ret = ""
if #out > 1 then
return frame:expandTemplate{title = "ubl", args = out}
elseif #out==1 then
return out[1]
elseif elpcode or elpname then
return (elpcode or "") .. (elpname or "") .. "[[Category:Language articles with missing ELP parameters]]"
end
return ret
end
return p