Module:Infobox/Fonctions/Personne : Différence entre versions
< Module:Infobox | Fonctions
(désactive Wikidata pour la nationalité) |
(évite de mélanger données Wikidata et données locales) |
||
Ligne 58 : | Ligne 58 : | ||
if not thedate then | if not thedate then | ||
thedate = wikidata._formatAndCat({item = item, property= 'P569', rank = 'best', conjtype= ' ou '}) | thedate = wikidata._formatAndCat({item = item, property= 'P569', rank = 'best', conjtype= ' ou '}) | ||
− | + | if not theplace then | |
− | + | -- mis ici pour ne pas récupérer le lieu Wikidata si la date ne vient pas de Wikidata (risque de collision) | |
− | + | theplace = wikidata._formatAndCat({item = item, property= 'P19', rank = 'best', conjtype= ' ou '}) | |
+ | end | ||
end | end | ||
return dateandplace(thedate, theplace) | return dateandplace(thedate, theplace) | ||
Ligne 77 : | Ligne 78 : | ||
if not thedate then | if not thedate then | ||
thedate = wikidata._formatAndCat{item= item, property= 'P570', rank = 'best', conjtype= ' ou '} | thedate = wikidata._formatAndCat{item= item, property= 'P570', rank = 'best', conjtype= ' ou '} | ||
− | + | if not theplace then | |
− | + | -- mis ici pour ne pas récupérer le lieu Wikidata si la date ne vient pas de Wikidata (risque de collision) | |
− | + | theplace = wikidata._formatAndCat({item = item, property= 'P20', rank = 'best', conjtype= ' ou '}) | |
+ | end | ||
end | end | ||
return dateandplace(thedate, theplace) | return dateandplace(thedate, theplace) |
Version du 25 novembre 2014 à 09:35
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(localdata, item) -- établit la valeur de la variable "gender" qui sert à adapter la grammaire au sexe de la personne if localdata['sexe'] or localdata['genre'] then gendertable = {f = 'f' , ['féminin'] = 'f', femme = 'f', homme = 'm', m = 'm', masculin = 'm'} gender = gendertable[(localdata['sexe'] or localdata['genre'])] if not gender then gender = '?' end return end local g = wikidata._formatStatements{item= item, property = 'P21', format = 'raw'} if g == 'Q6581072' then gender = 'f' elseif g == 'Q6581097' then gender = 'm' else gender = '?' 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(localdata, item) local thedate = localdata['date de naissance'] or localdata['naissance'] local theplace = localdata['lieu de naissance'] if not thedate then thedate = wikidata._formatAndCat({item = item, property= 'P569', rank = 'best', conjtype= ' ou '}) if not theplace then -- mis ici pour ne pas récupérer le lieu Wikidata si la date ne vient pas de Wikidata (risque de collision) theplace = wikidata._formatAndCat({item = item, property= 'P19', rank = 'best', conjtype= ' ou '}) end 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(localdata, item) local thedate = localdata['date de décès'] or localdata['décès'] local theplace = localdata['lieu de décès'] if not thedate then thedate = wikidata._formatAndCat{item= item, property= 'P570', rank = 'best', conjtype= ' ou '} if not theplace then -- mis ici pour ne pas récupérer le lieu Wikidata si la date ne vient pas de Wikidata (risque de collision) theplace = wikidata._formatAndCat({item = item, property= 'P20', rank = 'best', conjtype= ' ou '}) end end return dateandplace(thedate, theplace) end } end function p.nationality() -- return { type = 'mixed', label = 'Nationalité', value = 'nationalité', -- property = 'P27' que faire avec les données Wikidata Parfois, elle peuvent paraitre discutable du type Platon : "Athènes" ou "Goethe: Allemagne". } end -- parcours professionel function p.education() -- à améliorer return { type = 'mixed', label = 'Formation', value = function(localdata) return locadata['éducation'] or localdata['formation'] end, wikidata = function(item) 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(item) return wikidata._formatAndCat{item = item, property= 'P166', sorttype= 'chronological' , showdate= true, conjtype= '<br />'} end, } end -- Influences function p.influencedby() return { type = 'mixed', label = function(localdata, item) if not gender then setgender(localdata, item) end if gender == 'f' then return 'Influencée par' elseif gender == 'm' then return 'Influencé par' else return 'Influencé(e) par' end end, 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', property = 'P109', numval = 1 } end --== Site web function p.website() return p.website() end return p