Module:Utilitaire Wikidata
Apparence
[voir] [modifier] [historique] [purger]
Utilisation
Fonctions exportables :
fonction maindate(item)
– récupère et formate les indications temporelles concernant un élément, en utilisant P585 (« date »), P580 (« date de début »), P582 (« date de fin »))fonction keydate(event, item, params)
– récupère et formate la date à laquelle s'est passée un événement. l'événement doit être un chaîne commençant par "P", ou par "Q". Lorsqu'il commence par "P", par exemple "P571", la date retournée est celle indiquée par la propriété Wikidata correspondant (P571 (« date de fondation ou de création »)). Lorsqu'il commence par "Q", la date retournée est celle indiquée dans la propriété P793 (« événement clé ») lorsque la valeur principale de la déclaration est event. "Params" est un paramètre optionnel contenant des paramètres de mise en forme (les mêmes que pour les autres fonctions utilisant Module:Wikidata (voir Projet:Wikidata/Atelier/Manuel).
Exemples
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
-- Module de requêtes Wikidata de plus haut niveau que Module:Wikidata
local p = {}
local wd = require "Module:Wikidata"
function p.keydate (event, item, params)
params = params or {}
params.entity = item
if type(event) == 'table' then
for i, j in pairs(event) do
params.targetvalue = nil -- réinitialisation barbare des paramètres modifiés
local s = p.keydate(j, item, params)
if s then
return s
end
end
elseif type(event) ~= 'string' then
return error('event should be a string starting with a P or S, datatype is ' .. type(event))
elseif string.sub(event, 1, 1) == 'Q' then -- on demande un élément utilisé dans P:P793 (événement clé)
params.property = 'P793'
params.targetvalue = event
params.addcat = params.addcat or true
return wd.getTheDate(params)
elseif string.sub(event, 1, 1) == 'P' then -- on demande une propriété
params.property = event
return wd.formatAndCat(params)
else
return error('event string should start with P or S, is "' .. event .. '"')
end
end
function p.maindate(entity)
-- essaye P580/P582
local startpoint = wd.wikidataDate('P580', entity, {linkback = "-"})
local endpoint = wd.wikidataDate('P582', entity, {linkback = "-"})
local str
if startpoint or endpoint then
str = (startpoint or '') .. ' - ' .. (endpoint or '')
str = wd.addLinkback(str, entity, 'P582')
end
if str then
return str
end
-- défaut : P585
return wd.wikidataDate('P585', entity)
end
return p