Module:Infobox/Biographie : Différence entre versions

De Lagny-sur-Marne Wiki
Aller à : navigation, rechercher
(+titre honorifique)
(Lieu d'enterrement. Éventuellement le déplacer sur une ligne plus appropriée, ou le contenir dans le module concernant les personnes. Il serait intéressant de mentionner la division du cimetière par exemple.)
Ligne 185 : Ligne 185 :
 
person.awards(),
 
person.awards(),
 
person.website(),
 
person.website(),
 +
{type = 'row', label = 'Lieu d\'enterrement', property='P119'},
 
},
 
},
 
},
 
},

Version du 10 novembre 2015 à 16:38

La documentation pour ce module peut être créée à Module:Infobox/Biographie/doc

local person = require "Module:Infobox/Fonctions/Personne"
local wd = require "Module:Interface Wikidata".fromLua

local occupationformats = {
	--{profession, couleur, icône)  doivent être classés du plus spécifique au plus général
	{'Q947873',  '#D9D9FF', 'television'}, -- animateur audiovisuel
	{'Q191633',  '#80DDBF', 'bd'}, -- mangaka
	{'Q3285854',  '#80DDBF', 'bd'}, -- manhwaga
	{'Q3285832',  '#80DDBF', 'bd'}, -- manhuajia
	{'Q715301',  '#FFEEAA', 'bd'}, -- auteur de bande dessinée
	{'Q1350189', '#CCCCAA', 'egypte-antique'}, -- égyptologue
	{'Q3621491', '#CCCCAA', 'defaut'}, -- archéologue
	{'Q42973', '#4C6099', 'defaut'}, -- architecte
	{'Q2159907', '#F2F2F2', 'defaut'}, -- criminel
	{'Q11900058', '#EEEEFF', 'map'}, -- explorateur
	{'Q12039558', '#EEEEFF', 'jeu'}, -- joueur de go
	{'Q15295720', '#4E957D', 'poker'}, -- joueur de poker
	{'Q14467526', '#CFA0E9', 'auteur'}, -- linguiste
	{'Q177220', '#B6CCDE', 'musique'}, -- chanteur
	{'Q1278335', '#D2C6B6', 'musique'}, -- instrumentiste
	{'Q3089940', '#B4CDCD', 'musique'}, -- producteur de musique
	{'Q36834', '#B4CDCD', 'musique'}, -- compositeur
	{'Q1643514', '#B4CDCD', 'musique'}, -- arrangeur
	{'Q15981151', '#B2FFC6', 'musique'}, -- musicien de jazz
	{'Q5716684', '#FFFF80', 'musique'}, -- danseur
	{'Q1954956', '#D9B2FF', 'musique'}, -- acteur de comédie musicale
	{'Q2259451', '#B03030', 'persofiction'}, -- acteur de théâtre
	{'Q4964182', '#B0C4DE', 'auteur'}, -- philosophe
	{'Q11631', '#FFDEAD', 'defaut'}, -- astronaute
	{'Q17125263', '#FF0000', 'informatique'}, -- YouTubeur
	{'Q854997', '#FFD068', 'defaut'}, -- moine bouddhiste
	{'Q245068', '#FF8080', 'persofiction'}, -- humoriste
	{'Q488111', '#FF66B3', 'cinema'}, -- acteur de films pornographiques
	{'Q10800557', '#09C8BD', 'cinema'}, -- acteur de films
	{'Q37110', '#AAAA80', 'egypte-antique'}, -- pharaon
	{'Q728711', '#FF66B3', 'humain'}, -- Playmate
	{'Q18581305', '#FFDAB9', 'humain'}, -- participant à un concours de beauté
	{'Q203184', '#DCDCDC', 'defaut'}, -- première dame
	{'Q5784340', '#723E64', 'pretendant'}, -- consort
	{'Q207293', '#5977A8', 'pretendant'}, -- prince héritier
	{'Q2747456', '#878787', 'pretendant'}, -- prince
	{'Q845929', '#EAAC00', 'pretendant'}, -- prétendant au trône
	{'Q4610556', '#FFB6C1', 'humain'}, -- mannequin
	{'Q2478141', '#DFDFDF', 'defaut'}, -- aristocrate
	{'Q37349', '#FF8888', 'humain'}, -- dalaï-lama
	{'Q842606', '#FFB6C1', 'defaut'}, -- empereur romain
	{'Q268218', '#FFD700', 'defaut'}, -- empereur de Chine
	{'Q116', '#000080', 'pretendant'}, -- monarque
	{'Q11811941', '#FF0000', 'defaut'}, -- conseiller fédéral suisse
	{'Q2285706', '#6688FF', 'defaut'}, -- chef de gouvernement
	{'Q48352', '#0033CC', 'defaut'}, -- chef d'État
	{'Q15319501', '#5A71CE', 'default'}, -- spécialiste des sciences sociales
	{'Q133485', '#B7B7FF', 'israel-judaisme'}, -- rabbin
	{'Q191421', '#FF8888', 'defaut'}, -- lama
	{'Q619896', '#8000FF', 'defaut'}, -- catholicos
	{'Q9149093', '#BFD7FF', 'alpinisme'}, -- alpiniste
	{'Q13382355', '#FADA5E', 'arc'}, -- archer
	{'Q11513337', '#D7877B', 'athletisme'}, -- athlète
	{'Q13381753', '#D7877B', 'athletisme'}, -- coureur de demi-fond
	{'Q13381494', '#D7877B', 'athletisme'}, -- coureur de fond
	{'Q4009406', '#D7877B', 'athletisme'}, -- sprinteur
	{'Q13464497', '#D7877B', 'athletisme'}, -- perchiste
	{'Q13856320', '#D7877B', 'athletisme'}, -- lanceur de marteau
	{'Q18510502', '#D7877B', 'athletisme'}, -- lanceur de javelot
	{'Q13381689', '#D7877B', 'athletisme'}, -- lanceur de disque
	{'Q18534714', '#D7877B', 'athletisme'}, -- lanceur de poids
	{'Q13382122', '#D7877B', 'athletisme'}, -- sauteur en hauteur
	{'Q13381428', '#D7877B', 'athletisme'}, -- sauteur en longueur
	{'Q13848274', '#D7877B', 'athletisme'}, -- triple sauteur
	{'Q17405793', '#D7877B', 'athletisme'}, -- marcheur
	{'Q13382576', '#BFD7FF', 'aviron'}, -- avironneur
	{'Q10871364', '#408080', 'baseball'}, -- joueur de baseball
	{'Q3665646', '#DD8F56', 'basket-ball'}, -- joueur de basket-ball
	{'Q11338576', '#85A3C2', 'boxe'}, -- boxeur
	{'Q13382566', '#BFD7FF', 'kayak'}, -- canoéiste
	{'Q2309784', '#FFDF80', 'cyclisme'}, -- coureur cycliste
	{'Q13381863', '#C0BBDB', 'escrime'}, -- escrimeur
	{'Q18515558', '#99CC99', 'futsal'}, -- joueur de futsal
	{'Q937857', '#99CC99', 'footballblack'}, -- footballeur
	{'Q19841381', '#BFD33C', 'defaut'}, -- joueur de football canadien
	{'Q16947675', '#B0C4DE', 'gymnastique'}, -- gymnaste
	{'Q13156709', '#007700', 'golf'}, -- golfeur
	{'Q3951423', '#BFD7FF', 'escalade'}, -- grimpeur
	{'Q13365117', '#E0D080', 'handballblack'}, -- handballeur
	{'Q9017214', '#FFDFA2', 'karate'}, -- karatéka
	{'Q16004471', '#BFD7FF', 'kayak'}, -- kayakiste
	{'Q11774891', '#DFEDFF', 'hockey'}, -- joueur de hockey sur glace
	{'Q10843263', '#BFD7FF', 'hockey-sur-gazon'}, -- joueur de hockey sur gazon
	{'Q10843402', '#318CE7', 'natation'}, -- nageur
	{'Q15958185', '#B4B9C3', 'sport-automobile'}, -- pilote automobile
	{'Q3014296', '#B4B9C3', 'sport-automobile'}, -- pilote de moto
	{'Q2730732', '#D2B48C', 'equitation'}, -- cavalier
	{'Q20965770', '#DFEDFF', 'defaut'}, -- pratiquant de sports d'hiver
	{'Q11124885', '#FFDFA2', 'artsmartiauxjap'}, -- pratiquant d'arts martiaux
	{'Q20900796', '#BFD7FF', 'rinkhockey'}, -- joueur de rink hockey
	{'Q13415036', '#336699', 'rugbyblack'}, -- rugbyman
	{'Q13561328', '#99CCFF', 'surf'}, -- surfeur
	{'Q10833314', '#FFAA77', 'tennis'}, -- joueur de tennis
	{'Q13141064', '#FFAA77', 'badminton'}, -- joueur de badminton
	{'Q16278103', '#FFAA77', 'squash'}, -- joueur de squash
	{'Q13382519', '#FFAA77', 'tennis-de-tableblack'}, -- joueur de tennis de table
	{'Q15117302', '#97D98C', 'volleyball'}, -- volleyeur
	{'Q17524364', '#BFD7FF', 'water-polo'}, -- joueur de water-polo
	{'Q549322', '#AA3333', 'defaut'}, -- torero
	{'Q12299841', '#AA3333', 'defaut'}, -- joueur de cricket
	{'Q13474373', '#DFEDFF', 'catch'}, -- catcheur
	{'Q202648', '#CCE6CC', 'arbitre'}, -- arbitre sportif
	{'Q103163', '#8C8C8C', 'defaut'}, -- abbé
	{'Q611644', '#66CC80', 'eveque'}, -- évêque catholique
	{'Q49476', '#66CC80', 'eveque'}, -- archévêque
	{'Q171692', '#66CC80', 'defaut'}, -- patriarche
	{'Q45722', '#DE143C', 'cardinal'}, -- cardinal
	{'Q19546', '#FED600', 'defaut'}, -- pape
	{'Q172748', '#FED600', 'defaut'}, -- antipape
	{'Q9591034', '#FED600', 'defaut'}, -- bienheureux
	{'Q43115', '#FED600', 'defaut'}, -- saint
	{'Q250867', '#8C8C8C', 'defaut'}, -- prêtre catholique
	{'Q725440', '#AA0052', 'defaut'}, -- prélat
	{'Q81066', '#6495ED', 'defaut'}, -- secrétaire général de l'ONU
	{'Q20778343', '#F2F2F2', 'defaut'}, -- magistrat romain
	{'Q15253558', '#E1E1E1', 'defaut'}, -- militant
	{'Q1250916', '#EEEEFF', 'defaut'}, -- guerrier
	{'Q2722764', '#D9D9FF', 'communication'}, -- animateur de radio
	{'Q3186984', '#D9D9FF', 'presse'}, -- journaliste de presse écrite
	{'Q1930187', '#D9D9FF', 'defaut'}, -- journaliste
	{'Q17291399', '#09c8bd', 'cinema'}, -- personnalité du cinéma
	{'Q2066131', '#BFD7FF', 'defaut'}, -- sportif
	{'Q82955', '#4682B4', 'defaut'}, -- personnalité politique
	{'Q36180', '#4C6099', 'auteur'}, -- écrivain
	{'Q33999', '#EEEEFF', 'persofiction'}, -- acteur
	{'Q639669', '#EEEEFF', 'musique'}, -- musicien
	{'Q483501', '#7DA7D9', 'artiste'}, -- artiste
	{'Q901', '#EEEEFF', 'defaut'}, -- scientifique
}

local function setformat() --retourne une table contenant la couleur principale de l'infobox et l'icône de titre
	local occupations = wd.stringTable{entity = item, property = 'P106', displayformat = 'raw', excludespecial = true} -- récupère les Qid des professions
	if not occupations or (#occupations > 1) then -- si plusieurs occupations, on ne sait pas laquelle choisir
		return  {'#EEEEFF', 'defaut'}
	end
	occupations = wd.addVals(occupations, {property = 'P279'}, 2) -- nombre d'étages de sous-classes à remonter
	for i, j in pairs(occupationformats) do
		for k, l in pairs(occupations) do
			if j[1] == l then
				return {j[2], j[3]}
			end
		end
	end
	return {'#eeeeff', 'defaut'}
end
local personformat = setformat()

return 
	{
	maincolor = personformat[1],
	parts =
    	{
			person.title(personformat[2]),
			person.mainimage(),
			{type = 'table',rows = {
				person.birth(),
				person.death(),
				person.othernames(),
				person.nationality(),
				person.places(),
				{type = 'row', label = 'Langue maternelle', value = 'langue maternelle', property = 'P103'},
				person.education(),
				person.occupation(),
				{type = 'row', label = 'Organisation', value = 'organisation', property = 'P1268'},
				person.employer(),
				{type = 'row', label = 'Domaine', value = 'domaine', property = 'P101'},
                                {type = 'row', label = 'Propriétaire de', value = 'propriétaire de', property = 'P1830'},
				person.politicalparty(),
                                {type = 'row', label = 'Membre de', value = 'membre de', wikidata = {property = 'P463', sorttype= 'chronological', showdate = true, precision = 'year'}},
				person.military(),
				person.sport(),
				{type = 'row', label = 'Ordre religieux', plurallabel = 'Ordres religieux', value = 'ordre religieux', property = 'P611'},
				person.music(),
				person.contacts(),
				{type = 'row', label = 'Mouvement', value = 'mouvement', wikidata = {property = 'P135', sorttype= 'chronological', showdate = true, precision = 'year'}},
				{type = 'row', label = 'Genre artistique', value= 'genre artistique', property = 'P136'},
				{type = 'row', label = 'Adjectifs dérivés', value = 'adjectifs dérivés'},
				person.appearance(),
				person.family(),
				person.awards(),
				person.website(),
				{type = 'row', label = 'Lieu d\'enterrement', property='P119'},
				},
			},
			person.officialposition(),
			person.nobilitytitle(),
			person.honorifictitle(),
			person.works(),
			person.signature(),
		}
	}