Modulo:Flago
Aspekto
[antaŭrigardi] [redakti] [historio] [renovigi]
Dokumentado
Ŝablona programado | Diskutoj | Lua | Testoj | Subpaĝoj | |||
---|---|---|---|---|---|---|---|
Modulo | Esperanto | English
|
Modulo: | Dokumentado |
Se vi havas demandon pri ĉi tiu Lua-modulo, tiam vi povas demandi en la diskutejo pri Lua-moduloj. La Intervikiaj ligiloj estu metataj al Vikidatumoj. (Vidu Helpopaĝon pri tio.) |
|
local export = {}
function export.show(frame)
local country = frame.args[1] or ""
local id = frame:expandTemplate{title = "Vikidatumoj-identigilo", args = {country:lower():gsub("-", " "):gsub("_", " ")}}
local year = frame.args[2] or ""
local name = frame.args[3] or ""
local size = frame.args[4] or "20px"
local flag = "Flag.svg"
if size == "" then
size = "20px"
end
if id == "" then
if name == "" then
return "[[Dosiero:Flag.svg|border|" .. size .. "|" .. country .. "|ligilo=]]"
else
return "[[Dosiero:Flag.svg|border|" .. size .. "|" .. country .. "|ligilo=]] [[" .. country .. "]]"
end
else
local link = mw.wikibase.sitelink(id)
local label = mw.wikibase.label(id)
local lucky, Wikidata = pcall( require, "Module:Wikidata" )
if year ~= "" then
--flag = frame:preprocess("{{#invoke:Wikidata|claim|P41|id=" .. id .. "|atdate=" .. year .. "}}")
flag = Wikidata.claim( { args = { [ 1 ] = "P41",
id = id,
atdate = year } } )
end
if flag == "Flag.svg" then
--flag = frame:preprocess("{{#invoke:Wikidata|claim|P41|id=" .. id .. "}}")
-- flag = Wikidata.claim( { args = { [ 1 ] = "P41",
-- id = id } } )
-- flag = mw.wikibase.getBestStatements(id, "P41")[1]["mainsnak"]["datavalue"]["value"]
local flagTable = mw.wikibase.getBestStatements(id, "P41")
if #flagTable == 1 and flagTable[1]["mainsnak"]["datavalue"] ~= nil then
flag = flagTable[1]["mainsnak"]["datavalue"]["value"]
-- aldono por ne internacie agnoskita lando, kies Vikidatuma ero ne enhavas flagon
elseif country == "Abĥazio" then
local c = mw.ustring.lower(country)
local bildeto = frame:preprocess('{{#invoke:Portalo|image|' .. c .. '}}')
if bildeto ~= nil and bildeto ~= "" then
flag = bildeto
end
end
end
if label ~= nil and link ~= nil and flag ~= nil then
if name == "" then
return "[[Dosiero:" .. flag .. "|border|" .. size .. "|" .. label .. "|ligilo=" .. link .. "]]"
else
return "[[Dosiero:" .. flag .. "|border|" .. size .. "|" .. label .. "|ligilo=" .. link .. "]] [[" .. link .. "|" .. label .. "]]"
end
end
end
end
return export