Module:Article du DHS/Bac à sable
La documentation de ce module est générée par le modèle {{Documentation module}}.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local p = {}
-- fonction wd_dhs du module
-- appel : {{#invoke:Article du DHS|wd_dhs|wikidata_object_id}}
-- paramètre d'entrée 1 : QID d'une entité Wikidata
-- paramètre d'entrée 2 : Propriété à lire. La valeur peut être :
-- P1476 : titre ;
-- P577 : date de publication ;
-- P50 : auteur
-- paramètre de sortie : Auteur de l'entrée du DHS de l'entité d'appel.
function p.wd_dhs(arguments)
-- variables
local dhs_property = 'P902'
local wiki_langcode = mw.language.getContentLanguage().code
-- retrieve object id
local my_wikidata_object_id = arguments.args[1]
local my_desired_property = arguments.args[2]
-- fetch
local my_wikidata_object = mw.wikibase.getEntity( my_wikidata_object_id )
if (my_wikidata_object['claims'][dhs_property][1]['qualifiers'] ~= nil) and (my_wikidata_object['claims'][dhs_property][1]['qualifiers'][my_desired_property] ~= nil) then
local my_wikidata_object_snaks = my_wikidata_object['claims'][dhs_property][1]['qualifiers'][my_desired_property]
-- result
if my_wikidata_object_snaks[1] ~= nil and my_wikidata_object_snaks[1].datatype == "monolingualtext" and my_wikidata_object_snaks[1].datavalue.value.language == wiki_langcode then
return my_wikidata_object_snaks[1].datavalue.value.text
elseif my_wikidata_object_snaks[2] ~= nil and my_wikidata_object_snaks[2].datatype == "monolingualtext" and my_wikidata_object_snaks[2].datavalue.value.language == wiki_langcode then
return my_wikidata_object_snaks[2].datavalue.value.text
elseif my_wikidata_object_snaks[3] ~= nil and my_wikidata_object_snaks[3].datatype == "monolingualtext" and my_wikidata_object_snaks[3].datavalue.value.language == wiki_langcode then
return my_wikidata_object_snaks[3].datavalue.value.text
elseif my_wikidata_object_snaks[4] ~= nil and my_wikidata_object_snaks[3].datatype == "monolingualtext" and my_wikidata_object_snaks[4].datavalue.value.language == wiki_langcode then
return my_wikidata_object_snaks[4].datavalue.value.text
else
return mw.wikibase.renderSnaks( my_wikidata_object_snaks )
end
else
return ''
end
end
-- fonction page_qid du module
-- appel : {{#invoke:Article du DHS|page_qid|}}
-- paramètre d'entrie : aucun
-- paramètre de sortie : le QID de l'entité Wikidata rattachée à la page Wikipédia
function p.page_qid(arguments)
-- get wikidata QID from the current page name
local my_wikidata_entity = mw.wikibase.getEntity()
if not my_wikidata_entity then return nil else return my_wikidata_entity.id end
end
return p