Module:Calcul démographie
[voir] [modifier] [historique] [purger]
Ce module sert à calculer automatiquement l'évolution de la population d'une ville à partir des données dans les modèles Données/ville/évolution population
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
-- Le module Calcul Démographie sert à calculer des statistiques sur la démographie
-- à partir des données présentes dans les modèles
local p = {}
-- Variable pour la gestion des erreurs
local bad = ""
-- Récupérer la ville courante à partir du titre de la page
function p.Ville()
if (string.sub(mw.title.getCurrentTitle().text, 0, 16) == 'Démographie de ') then
return string.sub(mw.title.getCurrentTitle().text, 17)
end
if (string.sub(mw.title.getCurrentTitle().text, 0, 16) == 'Démographie du ') then
return "Le " .. string.sub(mw.title.getCurrentTitle().text, 17)
end
if (string.sub(mw.title.getCurrentTitle().text, 0, 15) == 'Démographie d\'') then
return string.sub(mw.title.getCurrentTitle().text, 16)
end
if (string.sub(mw.title.getCurrentTitle().text, 0, 17) == 'Démographie des ') then
return "Les " .. string.sub(mw.title.getCurrentTitle().text, 18)
end
return mw.title.getCurrentTitle().text
end
-- Récupérer une valeur "val" dans le modèle "data"
function getval(data, val)
return mw.getCurrentFrame():expandTemplate{title = data, args = { val } }
end
-- Trouver la population de l'année 2006 dans le modèle "data"
function find2006(data)
local i = 1
local value = getval(data, "an" .. i)
while value ~= "" do
if value == '2006' then
return getval(data, "pop" .. i)
end
i = i + 1
value = getval(data, "an" .. i)
end
bad = "[[Catégorie:Erreur de calcul de population]]"
return 1234
end
-- Fonction exportée : calculer l'évolution de la population entre 2006 et la
-- dernière année remplie de la ville "ville"
function p._CalculEvolutionPopulationDepuis2006(ville)
local data = "Modèle:Données/" .. ville .. "/évolution population"
return bad .. math.floor((getval(data, "pop") / find2006(data) - 1) * 1000) / 10
end
-- Fonction exportée : récupérer le nom de la ville à partir du titre de la page
-- et calculer l'évolution de la population de cette ville entre 2006 et la
-- dernière année remplie dans les statistiques
function p.CalculEvolutionPopulationDepuis2006()
return p._CalculEvolutionPopulationDepuis2006(p.Ville())
end
-- Fonction exportée : récupérer le nom de la ville en argument et calculer
-- l'évolution de la population de cette ville entre 2006 et la dernière année
-- remplie dans les statistiques
function p.CalculEvolutionPopulationVilleDepuis2006(frame)
local args = frame:getParent().args
return p._CalculEvolutionPopulationDepuis2006(args[1])
end
return p