Module:Infobox/Fonctions/Personne : Différence entre versions
< Module:Infobox | Fonctions
m (cats pour Wikidata) |
|||
Ligne 5 : | Ligne 5 : | ||
local d = require('Module:Wikidata/Dates') | local d = require('Module:Wikidata/Dates') | ||
+ | local function wikidatacat(prop) -- pour surveiller l'usage de Wikidata | ||
+ | return '[[Catégorie:Page utilisant des données de Wikidata/' .. prop .. ']]' | ||
+ | end | ||
-- ========== Fonctions d'aide ==================================== | -- ========== Fonctions d'aide ==================================== | ||
Ligne 36 : | Ligne 39 : | ||
value = | value = | ||
function(localdata, item) | function(localdata, item) | ||
− | local thedate = localdata['naissance'] | + | local thedate = localdata['naissance'], localdata['lieu de naissance'] |
− | + | if not thedate then | |
+ | thedate = wikidata._formatStatements({property= 'P569', rank = 'best', conjunction= ' ou '}) | ||
+ | if thedate then thedate = thedate .. wikidatacat('P569') end | ||
+ | end | ||
+ | if not theplace then | ||
+ | theplace = wikidata._formatStatements({property= 'P19', rank = 'best', conjunction= ' ou '}) | ||
+ | if thedate then thedate = thedate .. wikidatacat('P19') end | ||
+ | end | ||
return dateandplace(thedate, theplace) | return dateandplace(thedate, theplace) | ||
end | end | ||
Ligne 49 : | Ligne 59 : | ||
value = | value = | ||
function(localdata, item) | function(localdata, item) | ||
− | local thedate = localdata[' | + | local thedate = localdata['naissance'], localdata['lieu de naissance'] |
− | + | if not thedate then | |
+ | thedate = wikidata._formatStatements({property= 'P570', rank = 'best', conjunction= ' ou '}) | ||
+ | if thedate then thedate = thedate .. wikidatacat('P570') end | ||
+ | end | ||
+ | if not theplace then | ||
+ | theplace = wikidata._formatStatements({property= 'p20', rank = 'best', conjunction= ' ou '}) | ||
+ | if thedate then thedate = thedate .. wikidatacat('P20') end | ||
+ | end | ||
return dateandplace(thedate, theplace) | return dateandplace(thedate, theplace) | ||
end | end | ||
Ligne 61 : | Ligne 78 : | ||
label = 'Nationalité', | label = 'Nationalité', | ||
value = 'nationalité', | value = 'nationalité', | ||
− | + | property = 'P27' | |
− | |||
− | |||
− | |||
} | } | ||
end | end | ||
Ligne 73 : | Ligne 87 : | ||
label = 'Influencé par', | label = 'Influencé par', | ||
value = 'influencé par', | value = 'influencé par', | ||
− | property = ' | + | property = 'P737', |
} | } | ||
end | end | ||
Ligne 82 : | Ligne 96 : | ||
label = 'A influencé', | label = 'A influencé', | ||
value = 'a influencé', | value = 'a influencé', | ||
− | property = ' | + | property = 'P738', |
} | } | ||
end | end | ||
Ligne 95 : | Ligne 109 : | ||
defaultcaption = 'signature', | defaultcaption = 'signature', | ||
defaultcaption = function() return defaultcaption end, | defaultcaption = function() return defaultcaption end, | ||
− | wikidata = function() | + | wikidata = function() |
+ | local val = wikidata.formatStatements({property = 'P109', first = 'true', returntype = 'table'}) | ||
+ | if val then return val .. wikidatacat('P109') end | ||
+ | end, -- Wikidata uniquement pour les images, pas la légende | ||
} | } | ||
end | end |
Version du 24 septembre 2014 à 15:26
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 d = require('Module:Wikidata/Dates') local function wikidatacat(prop) -- pour surveiller l'usage de Wikidata return '[[Catégorie:Page utilisant des données de Wikidata/' .. prop .. ']]' end -- ========== 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 --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['naissance'], localdata['lieu de naissance'] if not thedate then thedate = wikidata._formatStatements({property= 'P569', rank = 'best', conjunction= ' ou '}) if thedate then thedate = thedate .. wikidatacat('P569') end end if not theplace then theplace = wikidata._formatStatements({property= 'P19', rank = 'best', conjunction= ' ou '}) if thedate then thedate = thedate .. wikidatacat('P19') 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['naissance'], localdata['lieu de naissance'] if not thedate then thedate = wikidata._formatStatements({property= 'P570', rank = 'best', conjunction= ' ou '}) if thedate then thedate = thedate .. wikidatacat('P570') end end if not theplace then theplace = wikidata._formatStatements({property= 'p20', rank = 'best', conjunction= ' ou '}) if thedate then thedate = thedate .. wikidatacat('P20') end 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 -- 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, wikidata = function() local val = wikidata.formatStatements({property = 'P109', first = 'true', returntype = 'table'}) if val then return val .. wikidatacat('P109') end end, -- Wikidata uniquement pour les images, pas la légende } end --== Site web function p.website() return p.website() end return p