Module:Infobox/Animal
Apparence
[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.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis la page Modèle:Documentation module d'infobox. 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.
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'},
}},
}
}