Aller au contenu

Module:Infobox/Animal

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 6 janvier 2018 à 11:53 et modifiée en dernier par Tubezlob (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

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

Cette page définit un module d'infobox. Pour les conseils sur l'usage de ce module, voyez Modèle:Infobox Animal.


local general = require "Module:Infobox/Fonctions"
local wikidata = require "Module:Wikidata"
local linguistic = require "Module:Linguistique"
		-- Si vous modifiez ce tableau, n'oubliez pas de mettre à jour la section 'Chartes graphiques' de [[Modèle:Infobox Animal célèbre/Documentation]]
local occupationformats = {
	--{espèce, espèce, couleur titre, couleur sous-titre, couleur texte, icône)  doivent être classés du plus spécifique au plus général
        {'Q144', 'chien', '#947151', '#B08660', '#000000', 'defaut'}, -- brun foncé
	{'Q146',  'chat', '#474747', '#787878', '#FFFFFF', 'defaut'}, -- noir/gris
	{'Q726',  'cheval', '#D2B48C', '#D2B48C', '#FFFFFF', 'defaut'}, -- brun clair (comme [[Modèle:Infobox Cheval]])
}

local function setformat() --retourne une table contenant la couleur principale de l'infobox et l'icône de titre
	local occupations = wd.getIds(localdata.item, {property = 'P31'}) -- récupère les Qid des espèces

	if not occupations or (#occupations > 1) then -- si plusieurs espèces, on ne sait pas laquelle choisir
		return  {'Q', '', '#DFDFDF', '#D9D9D9', '#000000', 'defaut'}
	end
	occupations = wd.addVals(occupations, {property = 'P279'}, 2) -- nombre d'étages de sous-classes à remonter
	for i, j in pairs(occupations) do
		for k, l in pairs(occupationformats) do
			if l[1] == j then
				return l
			end
		end
	end
	return {'Q', '', '#DFDFDF', '#D9D9D9', '#000000', 'defaut'}
end
local function setcharte()
	if localdata['charte'] then
		charte = localdata['charte']
		for i, j in pairs(occupationformats) do
			if j[2] == charte then
				return j
			end
		end
	end
	return setformat()
end
local personformat = setcharte()
return {
	maincolor = personformat[3],
	secondcolor = personformat[4],
	thirdcolor = personformat[5],
	parts = {
		general.title(),
		general.mainimage('Article à illustrer Animal'), --rajouter upright
		-- rajouter image drapeau P41 et blason P94
		{type = 'table', title = 'Informations', rows = {
			{type = 'row', label = 'Nom original', value = 'nom original', property = 'P1448'}, -- propriété à vérifier
                        {type = 'row', label = 'Espèce', value = 'espèce', wikidata = {property = 'P31', numval = 1, excludevalues = "Q386208"}}, -- propriété à vérifier
                        {type = 'row', label = 'Couleur', value = 'couleur', property = 'P462'},
                        {type = 'row', label = 'Sexe', value = 'sexe', property = 'P21'},
			{type = 'row', label = 'Date de naissance', value = 'date de naissance', property = 'P569'},
			{type = 'row', label = 'Lieu de naissance', value = 'lieu de naissance', property = 'P19'},
			{type = 'row', label = 'Pays d\'origine', value = 'pays', property = 'P495'},
			{type = 'row', label = 'Date de décès', value = 'date de décès', property = 'P570'},
                        {type = 'row', label = 'Lieu de décès', value = 'lieu de décès', property = 'P20'},
                        {type = 'row', label = 'Cause de décès', value = 'cause de décès', property = 'P509'},
                        {type = 'row', label = 'Lieu de vie', value = 'lieu de vie', property = 'P551'},
                        {type = 'row', label = 'Taille', value = 'taille', property = 'P2048'},
                        {type = 'row', label = 'Masse', value = 'masse', property = 'P2067'},
                        {type = 'row', label = 'Père', value = 'père', property = 'P22'},
                        {type = 'row', label = 'Mère', value = 'mère', property = 'P25'},
                        {type = 'row', label = 'Occupation', value = 'occupation', property = 'P106'},
                        {type = 'row', label = 'Activité', plurallabel = 'Activités', value = 'activité', property = 'P101'},
                        {type = 'row', label = 'Propriétaire', plurallabel = 'Propriétaires', value = 'propriétaire', property = 'P127'},
                        {type = 'row', label = 'Fait notable', value = 'notabilité'},
                        {type = 'row', label = 'Distinction(s)', value = 'distinction', property = 'P166'},
                        {type = 'row', label = 'Notes', value = 'notes'},
		}},
	}
}