Aller au contenu

Module:USA

Une page de Wikipédia, l'encyclopédie libre.

 Documentation[voir] [modifier] [historique] [purger]

Utilisation

[modifier le code]

Fonctions exportables :

Autres fonctions :

  • states(inYear) – parcourt les données pour retrouver le nombre d'États à l'année demandée

Modules externes et autres éléments dont ce module a besoin pour fonctionner :

  • Module:Outils – Extraction des arguments
  • Module:USA/data – Données avec correspondance année - nombre d'États

{{#invoke:USA|etats|1870}} – 37

{{#invoke:USA|drapeau|1945}} – Fichier:US flag 48 stars.svg

{{#invoke:USA|drapeau_navy|1912}} – Fichier:US Naval Jack 48 stars.svg

-- utiliser {{#invoke:USA}}
-- Plusieurs fonctions en rapport avec les États-Unis
-- argument     = année
-- etats        -> nb d'états cette année-là
-- drapeau      -> drapeau des USA cette année-là
-- drapeau_navy -> drapeau de la navy cette année-là

local p = {}
local data = mw.loadData( 'Module:USA/data' )
local Outils = require( 'Module:Outils' )

local function states(inYear)
	if not inYear then
        return -1
    end
    currentYear = tonumber( mw.language.getContentLanguage():formatDate( 'Y' ) )
    -- if we ask for a bad year
    if inYear < 1776 or inYear > currentYear then
        return -1
    end
    for _, t in ipairs( data ) do
    	dataYear = t.year
	if inYear >=	 dataYear then
		-- we've found the right year
    		return t.states
		end
	end
	-- we should not get here, safety
	return -1
end

function p.etats(frame)
	local args = Outils.extractArgs( frame )
	-- safe conversion to number
	local annee = tonumber(args[1])
	local nbStars= states(annee)
		if (nbStars == -1) then
			return 'Bad value'
		else
			return nbStars
		end
end

function p.drapeau(frame)
	-- local variable
	local args = Outils.extractArgs( frame )
	local annee = tonumber(args[1])
	local nbStars = states(annee)
	local flagName
	if (nbStars == 0)  then flagName = 'Fichier:Grand Union Flag.svg'
	elseif (nbStars == 13) then flagName = 'Fichier:US flag 13 stars – Betsy Ross.svg'
		-- by default, if error in arguments or no arguments we give back the actual flag
	elseif ((nbStars == -1) or (nbStars == 50)) then flagName = 'Fichier:Flag of the United States.svg'
	else  						flagName = 'Fichier:US flag ' .. nbStars .. ' stars.svg'
	end
	return flagName
end

function p.drapeau_navy(frame)
	-- local variable
	local args = Outils.extractArgs( frame )
	local annee = tonumber(args[1])
	local nbStars = states(annee)
	
	-- de 2003 au 4 juin 2019, l'US Navy a utilisé le Naval Jack.
	if ((annee) and (annee >= 2003) and (annee < 2019)) then nbStars = -1 end
	local flagName
		-- by default, if error in arguments or no arguments, we give back the actual flag
	if (nbStars <= 0) then 
		flagName = 'Fichier:Naval Jack of the United States.svg'
	elseif (nbStars == 50) then 
		flagName = 'Fichier:US Naval Jack.svg'
	else  						
		flagName = 'Fichier:US Naval Jack ' .. nbStars .. ' stars.svg'
	end
	return flagName
end

return p