Ugrás a tartalomhoz

Modul:Homokozó/Bean49/h004/Modul:Népesség

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

Homokozó/Bean49/h004/Modul:Népesség[mi ez?] • [dokumentáció: mutat, szerkeszt] • [tesztek: létrehozás]

require('strict')
local getArgs = require('Modul:Arguments').getArgs
local wd = require('Modul:Wikidata')
local title = mw.title.getCurrentTitle()
local lang = mw.getContentLanguage()
local p = {}

local function formatError(errorText, category)
	local text = ('<strong class="error">Népesség: %s</strong>'):format(errorText)
	if category then
		text = text .. ('[[Kategória:%s|%s]]'):format(category, title.prefixedText)
	end
	return text
end

local function nepessegAdatlap(args, frame)
	return 'Adatlap'
end

local function nepessegInitial(args, frame)
	return 'Eredeti'
end

function p.main(frame)
	local args = getArgs(frame, { parentOnly=true })
	if mw.ustring.sub(title.prefixedText, 1, 16) == 'Sablon:Népesség/' or args[6] == 'Teszt' then
		return nepessegAdatlap(args, frame)
	end
	if not args[1] then
		return formatError('Nincs megadva a lap címe', 'Tesztelés alatt álló sablon')
	end
	if args[4] then
		return nepessegInitial()
	end
	if wd.containsProperty(frame, { property='P1082', pageTitle=args[1] }) then
		if args[2] == 'szám' then
			return wd.formatStatements(frame, { property='P1082', pageTitle=args[1], format='raw', sort='P585', sortDesc=true, first=true })
		elseif args[2] == 'formázott szám' then
			return wd.formatStatements(frame, { property='P1082', pageTitle=args[1], sort='P585', sortDesc=true, first=true })
		elseif args[2] == 'táblázatos' then
			return lang:formatNum(tonumber(wd.formatStatements(frame, { property='P1082', pageTitle=args[1], format='raw', sort='P585', sortDesc=true, first=true })))
		end
		return wd.formatStatements(frame, { property='P1082', pageTitle=args[1], format='default', sort='P585', sortDesc=true, first=true })
	end
	local tlTitle = 'Népesség/' .. args[1]
	local tlTitleObj = mw.title.new('Sablon:' .. tlTitle)
	if not tlTitleObj or not tlTitleObj.content then
		return ('[[Sablon:%s]]'):format(tlTitle)
	end
	return frame:expandTemplate{ title=tlTitle, args={ args[2] } }
end

return p