Aller au contenu

Module:Population de France/Sources

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 5 janvier 2017 à 22:59 et modifiée en dernier par Hexasoft (discuter | contributions) (+). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

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

Utilisation

Fonctions dédiées à la génération des textes de sources des tableaux.
Les fonctions à appeler sont :

  • p.sources(data) : retourne les sources (sous forme de texte) d'un tableau de population pour l'entité dont les données sont dans data.
  • p.sources_graphique(data) : retourne les sources (sous forme de texte) d'un graphique de population pour l'entité dont les données sont dans data.

Les autres fonctions sont des sous-fonctions dédiées à une partie des traitements.

--[[
  Sous-module de Module:Tableau population d'article de commune de France contenant
  les fonctions de génération des sources associées à des données de population
--]]

local p = {}

--[[
  Sous-fonction de celle ci-dessous : génère la référence Cassini
--]]
function p.source_cassini(data)
	local resu = "Ldh/[[École des hautes études en sciences sociales|EHESS]]/Cassini jusqu'en 1999"
	local txt = ""
	if (data["source1"] ~= nil) then
		txt = txt .. "[" .. data["source1"] ..
		   " Des villages de Cassini aux communes d'aujourd'hui] sur le site de l'[[École des hautes études en sciences sociales]]."
		resu = resu .. mw.getCurrentFrame():extensionTag{ name = "ref", content = txt, args = { name="Cassini" } }
	end
	return resu
end

--[[
  Sous-fonction de celle ci-dessous : génère la référence INSEE
--]]
function p.source_insee(data)
	local resu = "[[Institut national de la statistique et des études économiques|Insee]] à partir de 2006"
	local txt = "Fiches Insee - Populations légales de la commune"
	if (data["mmin"] ~= nil) then
		if (data["mmin"] ~= data["mmax"]) then
			txt = txt .. " pour les années "
		else
			txt = txt .. " pour l'année "
		end
		local i
		for i = data["mmin"],data["mmax"] do
			if ((data[i] ~= nil) and (data[i]["ref"] ~= nil)) then
				if (i > data["mmin"]) then
					if (i == data["mmax"]) then
						txt = txt .. " et "
					else
						txt = txt .. ", "
					end
				end
				txt = txt .. "[" .. data[i]["ref"] .. " " .. i .. "]"
			end
		end
	end
	resu = resu .. mw.getCurrentFrame():extensionTag{ name = "ref", content = txt .. ".", args = nil }
	return resu
end

--[[
  fonction générant les sources
--]]
function p.sources(data, vnom)
	local resu
	-- selon le type
	if ((data["division"] == "commune en DOM")) then
		resu = "Commune en DOM : sources à coder."
	elseif ((data["division"] == "commune nouvelle")) then
		resu = "Commune nouvelle : sources à coder."
	else -- par défaut
		resu = p.source_cassini(data)
		resu = resu .. " puis " .. p.source_insee(data) .. "."
	end

	return resu
end

return p