Module:Infobox/Fonctions/Personne : Différence entre versions
< Module:Infobox | Fonctions
m (gestion des catégories trackers par Module:Wikidata) |
(+) |
||
Ligne 3 : | Ligne 3 : | ||
local wikidata = require('Module:Wikidata') | local wikidata = require('Module:Wikidata') | ||
local general = require('Module:Infobox/Fonctions') | local general = require('Module:Infobox/Fonctions') | ||
− | local | + | local gender -- set by setgender |
-- ========== Fonctions d'aide ==================================== | -- ========== Fonctions d'aide ==================================== | ||
Ligne 12 : | Ligne 12 : | ||
else | else | ||
return thedate or theplace --retourne tout ce qu'il trouve | return thedate or theplace --retourne tout ce qu'il trouve | ||
+ | end | ||
+ | end | ||
+ | |||
+ | |||
+ | local function setgender(item, localdata) -- pour adapter le masculin/féminin | ||
+ | if not item then return end -- utiliser des paramètres de localdata ? | ||
+ | local g = wikidata._formatStatements{item= item, property = 'P21', format = 'raw'} | ||
+ | if g == 'Q6581072' then | ||
+ | sex = 'f' | ||
+ | elseif g == 'Q6581097' then | ||
+ | sex = 'm' | ||
+ | else | ||
+ | g = '?' | ||
end | end | ||
end | end | ||
Ligne 35 : | Ligne 48 : | ||
label = 'Naissance', | label = 'Naissance', | ||
value = | value = | ||
− | function( | + | function() |
local thedate, theplace = localdata['date de naissance'], localdata['lieu de naissance'] | local thedate, theplace = localdata['date de naissance'], localdata['lieu de naissance'] | ||
if not thedate then | if not thedate then | ||
− | thedate = wikidata._formatAndCat({property= 'P569', rank = 'best', conjunction= ' ou '}) | + | thedate = wikidata._formatAndCat({item = item, property= 'P569', rank = 'best', conjunction= ' ou '}) |
end | end | ||
if not theplace then | if not theplace then | ||
− | theplace = wikidata._formatAndCat({property= 'P19', rank = 'best', conjunction= ' ou '}) | + | theplace = wikidata._formatAndCat({item = item, property= 'P19', rank = 'best', conjunction= ' ou '}) |
end | end | ||
return dateandplace(thedate, theplace) | return dateandplace(thedate, theplace) | ||
Ligne 53 : | Ligne 66 : | ||
label = 'Décès', | label = 'Décès', | ||
value = | value = | ||
− | function( | + | function() |
local thedate, theplace = localdata['date de décès'], localdata['lieu de décès'] | local thedate, theplace = localdata['date de décès'], localdata['lieu de décès'] | ||
if not thedate then | if not thedate then | ||
− | thedate = wikidata._formatAndCat | + | thedate = wikidata._formatAndCat{item= item, property= 'P570', rank = 'best', conjunction= ' ou '} |
end | end | ||
if not theplace then | if not theplace then | ||
− | theplace = wikidata._formatAndCat | + | theplace = wikidata._formatAndCat{item = item, property= 'p20', rank = 'best', conjunction= ' ou '} |
end | end | ||
return dateandplace(thedate, theplace) | return dateandplace(thedate, theplace) | ||
Ligne 74 : | Ligne 87 : | ||
} | } | ||
end | end | ||
+ | |||
+ | -- parcours professionel | ||
+ | function p.education() -- à améliorer | ||
+ | return { | ||
+ | type = 'mixed', | ||
+ | label = 'Formation', | ||
+ | value = function() return locadata['éducation'] or localdata['formation'] end, | ||
+ | wikidata = function() return wikidata._formatAndCat{item=item, property = 'P69', showdate = true, conjtype = '<br />'} end | ||
+ | } | ||
+ | end | ||
+ | |||
+ | function p.awards() -- à améliorer | ||
+ | return { | ||
+ | type = 'mixed', | ||
+ | label = 'Distinctions', | ||
+ | value = 'prix', | ||
+ | wikidata = function() return wikidata._formatAndCat{item = item, property= 'P166', sorttype= 'chronological' , showdate= true, conjtype= '<br />'} end, | ||
+ | } | ||
+ | end | ||
+ | |||
+ | |||
-- Influences | -- Influences | ||
function p.influencedby() | function p.influencedby() |
Version du 10 octobre 2014 à 08:19
La documentation pour ce module peut être créée à Module:Infobox/Fonctions/Personne/doc
-- Functions utilisées par les infobox personnes local p = {} local wikidata = require('Module:Wikidata') local general = require('Module:Infobox/Fonctions') local gender -- set by setgender -- ========== Fonctions d'aide ==================================== local function dateandplace(thedate, theplace) if thedate and theplace then return thedate .. '<br />' .. theplace else return thedate or theplace --retourne tout ce qu'il trouve end end local function setgender(item, localdata) -- pour adapter le masculin/féminin if not item then return end -- utiliser des paramètres de localdata ? local g = wikidata._formatStatements{item= item, property = 'P21', format = 'raw'} if g == 'Q6581072' then sex = 'f' elseif g == 'Q6581097' then sex = 'm' else g = '?' end end --Titre function p.title() return { type = 'title', value = 'nom', class = 'entete icon humain', } end --Image function p.mainimage() return general.mainimage() end --Naissance, décès function p.birth() -- date de naissance en première ligne, lieu de naissance en deuxième return { type = 'mixed', label = 'Naissance', value = function() local thedate, theplace = localdata['date de naissance'], localdata['lieu de naissance'] if not thedate then thedate = wikidata._formatAndCat({item = item, property= 'P569', rank = 'best', conjunction= ' ou '}) end if not theplace then theplace = wikidata._formatAndCat({item = item, property= 'P19', rank = 'best', conjunction= ' ou '}) end return dateandplace(thedate, theplace) end } end function p.death() -- même fonctionnement que la fonction p.birth return { type = 'mixed', label = 'Décès', value = function() local thedate, theplace = localdata['date de décès'], localdata['lieu de décès'] if not thedate then thedate = wikidata._formatAndCat{item= item, property= 'P570', rank = 'best', conjunction= ' ou '} end if not theplace then theplace = wikidata._formatAndCat{item = item, property= 'p20', rank = 'best', conjunction= ' ou '} end return dateandplace(thedate, theplace) end } end function p.nationality() --pour l'instant, ne retourne que la valeur donnée par le paramètre nationalité, ou, à defaut, la propriété p570 de Wikidata, à retravailler pour le formatage. return { type = 'mixed', label = 'Nationalité', value = 'nationalité', property = 'P27' } end -- parcours professionel function p.education() -- à améliorer return { type = 'mixed', label = 'Formation', value = function() return locadata['éducation'] or localdata['formation'] end, wikidata = function() return wikidata._formatAndCat{item=item, property = 'P69', showdate = true, conjtype = '<br />'} end } end function p.awards() -- à améliorer return { type = 'mixed', label = 'Distinctions', value = 'prix', wikidata = function() return wikidata._formatAndCat{item = item, property= 'P166', sorttype= 'chronological' , showdate= true, conjtype= '<br />'} end, } end -- Influences function p.influencedby() return { type = 'mixed', label = 'Influencé par', value = 'influencé par', property = 'P737', } end function p.influenced() return { type = 'mixed', label = 'A influencé', value = 'a influencé', property = 'P738', } end -- Signature function p.signature(default) return { type = 'images', imageparameters = {'signature'}, defaultimage = {default}, captionparameter = 'légende signature', defaultcaption = 'signature', defaultcaption = function() return defaultcaption end, property = 'P109', numval = 1 } end --== Site web function p.website() return p.website() end return p