« Module:Infobox/Biographie » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
local person = require "Module:Infobox/Fonctions/Personne" | 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 | |||
{'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 | |||
{'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 | |||
{'Q13382355', '#FADA5E', 'arc'}, -- archer | |||
{'Q11513337', '#D7877B', 'athletisme'}, -- athlète | |||
{'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 | |||
{'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 | |||
{'Q14089670', '#336699', 'rugbyblack'}, -- joueur de rugby à XV | |||
{'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 | |||
{'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'} -- 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 | return | ||
{ | { | ||
maincolor = | maincolor = personformat[1], | ||
parts = | parts = | ||
{ | { | ||
person.title(), | person.title(personformat[2]), | ||
person.mainimage(), | person.mainimage(), | ||
{type = 'table',rows = { | {type = 'table',rows = { |
Version du 11 septembre 2015 à 20:23
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 {'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 {'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 {'Q13382355', '#FADA5E', 'arc'}, -- archer {'Q11513337', '#D7877B', 'athletisme'}, -- athlète {'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 {'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 {'Q14089670', '#336699', 'rugbyblack'}, -- joueur de rugby à XV {'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 {'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'} -- 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'}, person.politicalparty(), person.military(), person.sport(), person.contacts(), person.appearance(), person.family(), person.awards(), person.website(), }, }, person.officialposition(), person.works(), person.signature(), } }