Module:Titulaires
Apparence
[voir] [modifier] [historique] [purger]
Utilisation
Le module Titulaires est constitué de différentes parties. Ses fonctions sont réutilisées par les modèles {{Titulaires}} et {{Liste des dirigeants successifs}}.
- local wikidataProperties permet de choisir la fonction voulue : P6 (« chef ou cheffe de l'exécutif »), P35 (« chef d'État »), P1037 (« dirigé par »), P488 (« président ou présidente »), P169 (« directeur général ou directrice générale ») ou P3320 (« membre du conseil d'administration ») ;
- local charterMap indique que Q3266850 (« commune ») est une commune ;
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 (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local wikidata = require 'Module:Wikidata'
local formatDate = require 'Module:Date complexe'
local p = {}
local function formatClaim(statement, args)
local name = wikidata.formatSnak(statement.mainsnak, args)
if not name then
return nil
end
local eluArgs = {["Identité"] = name}
local dates = wikidata.getDate(statement)
if dates then
startDate = formatDate.simplestring(dates.begin)
if startDate then
eluArgs['Début'] = startDate
end
endDate = formatDate.simplestring(dates.ending)
if endDate then
eluArgs['Fin'] = endDate
end
end
return {title = "Élu", args = eluArgs}
end
function p.listeElusSuccessifs(frame)
local entity = 'Q484678'
local title = 'Liste des maires successifs'
local charter = 'commune'
local args = {entity = entity, property = 'P6', showdate = true, sorttype = "chronological", rank = "valid", showsource = true}
local claims = wikidata.getClaims(args)
mw.log(table.getn(claims))
local elus = {}
for i, statement in pairs(claims) do
local formattedClaim = formatClaim(statement, args)
if formattedClaim then
local expandedTemplate = frame:expandTemplate(formattedClaim)
table.insert(elus, expandedTemplate)
end
end
templateCall =
frame:expandTemplate({title = 'ÉluDébut', {Titre = title, Charte = charter}})
.. table.concat(elus)
.. frame:expandTemplate({title = 'ÉluFin'})
return templateCall
end
return p