Modulo:Flago

El Vikipedio, la libera enciklopedio
Salti al navigilo Salti al serĉilo
Dokumentado Dokumentado


Ŝablona programado Diskutoj Lua Testoj Subpaĝoj
Modulo Esperanto English Deutsch

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"]
		end

		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

return export