Module:Infobox/Fonctions/Personne
-- Functions shared by several infoboxes about people local wikidata = require('Module:Wikidata') local d = require('Module:Wikidata/Dates')
-- ========== Helper Functions ====================================
local function dateandplace(thedate, theplace)
if thedate and theplace then
return thedate .. '
' .. theplace
else
return thedate or theplace --retourne tout ce qu'il trouve
end
end
--==== Queries ================================================================
local p = {}
function p.signature(default) return { type = 'images', imageparameters = {'signature'}, defaultimage = {default}, captionparameter = 'légende signature', defaultcaption = 'signature', defaultcaption = function() return defaultcaption end, wikidata = function() return wikidata.formatStatements({property = 'p109', first = 'true', returntype = 'table'}) end, -- Wikidata uniquement pour les images, pas la légende } end
function p.birth()
return {
type = 'mixed',
label = 'Naissance',
value =
function(localdata, item)
local thedate = localdata['naissance'] or localdata['date de naissance'] or wikidata._formatStatements({property= 'p569', rank = 'best', conjunction= ' ou '})
local theplace = localdata['lieu de naissance'] or wikidata._formatStatements({property= 'p19', rank = 'best', conjunction= ' ou '})
return dateandplace(thedate, theplace)
end
}
end
function p.death() return { type = 'mixed', label = 'Naissance', value = function(localdata, item) local thedate = localdata['décès'] or localdata['date de décès'] or wikidata._formatStatements({property= 'p570', rank = 'best', conjunction= ' ou '}) local theplace = localdata['lieu de décès'] or wikidata._formatStatements({property= 'p20', rank = 'best', conjunction= ' ou '}) return dateandplace(thedate, theplace) end } end
function p.nationality() return { type = 'mixed', label = 'Nationalité', value = 'nationalité', wikidata = dateandplace(
wikidata._formatStatements({property= 'p570', rank = 'best', conjunction= ' ou '}), wikidata._formatStatements({property= 'p20', rank = 'best', conjunction= ' ou '}) ),
} end
function p.influencedby() return { type = 'mixed', label = 'Influencé par', value = 'influencé par', -- wikidata = (faire quelquechose avec p27)
}
end
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
return p