Leaguepedia | League of Legends Esports Wiki
Advertisement

Edit the documentation or categories for this module.


local lang = mw.getLanguage('en')
local LOOKUP = mw.loadData('Module:Countrynames')
local DEFAULT = {
	name = 'Unrecognized Country![[Category:Unrecognized Country]]',
	adjective = 'Unrecognized Country![[Category:Unrecognized Country]]',
	flag = 'Unrecognized Country![[Category:Unrecognized Country]]',
	the = false
}

function lookup(str)
	local str_lc = lang:lc(str)
	local vars = LOOKUP[str_lc]
	if not vars then
		return DEFAULT
	end
	if type(vars) == 'string' then
		vars = LOOKUP[vars]
	end
	return vars
end

local p = {}

function p.debug(str)
	local vars = lookup(str)
	local tbl = {}
	for k, v in pairs(vars) do
		tbl[#tbl+1] = v
	end
	return tbl:concat(',')
end

function p.main(frame)
	local args = frame
	if frame == mw.getCurrentFrame() then
		args = require('Module:ProcessArgs').merge(true)
	else
		frame = mw.getCurrentFrame()
	end
	
	if not args[1] or args[1] == '' then
		return ''
	end
	local style = args[2] or 'default'
	
	return p[style](args[1])
end

function p.default(str)
	local vars = lookup(str)
	return vars.name
end

function p.rightlong(str)
	local vars = lookup(str)
	if vars.flag then
		return string.format('[[File:%s.png|%s|link=]] %s',
			vars.flag,
			vars.name,
			vars.name
		)
	end
	return vars.name
end

function p.localization(str)
	local vars = lookup(str)
	return vars.adjective
end

function p.onlyimage(str)
	local vars = lookup(str)
	return vars.flag and string.format(
		'[[File:%s.png|%s|link=]]',
		vars.flag,
		vars.name
	) or ''
end

function p.namethe(str)
	local vars = lookup(str)
	return (vars.the and 'the ' or '') .. (vars.name or '')
end

return p
Advertisement