Modulo:PopolazioneIT

Versione del 18 set 2018 alle 01:26 di Rotpunkt (discussione | contributi) (formatnum serve nella maggioranza dei casi)
Info Istruzioni per l'uso
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:PopolazioneIT/man (modifica · cronologia)
Sandbox: Modulo:PopolazioneIT/sandbox (modifica · cronologia) · Sottopagine: lista · Test: Modulo:PopolazioneIT/test (modifica · cronologia · esegui)

Modulo che implementa il template {{PopITA}}.

I dati della popolazione sono contenuti nella sottopagina: Modulo:PopolazioneIT/Data.


--[[
* Modulo che implementa il template PopolazioneIT.
]]--

require('Modulo:No globals')

local getArgs = require('Modulo:Arguments').getArgs
local mWikidata = require('Modulo:Wikidata')
local p = {}

-- Funzione per l'utilizzo da un altro modulo.
function p._main(args)
	local ret

	if args[1] then
		return args[1]
	end

	local istatID = args.istatID or mWikidata._getProperty({ 'P635', from = args.from, n = 1 })
	if istatID then
		local data = mw.loadData('Modulo:PopolazioneIT/Data')
		ret = data[istatID]
		if ret then
			if args.formatnum ~= 'no' then
				ret = mw.language.getContentLanguage():formatNum(ret)
			end
			if args.nota then
				ret = ret .. mw.getCurrentFrame():extensionTag{ name = 'ref', content = data.nota }
			end
			if args.data then
				ret = string.format('%s <small>(%s)</small>', ret, data.data)
			end
		end
	end

	return ret
end

-- Funzione per il template {{PopolazioneIT}}.
function p.main(frame)
	return p._main(getArgs(frame, { parentOnly = true }))
end

return p