Module:Infobox/Descriptif course cycliste
Wikimedia module / De Wikipedia, l'encyclopédie encyclopedia
local wikidata = require "Module:Wikidata" local general = require "Module:Infobox/Fonctions" local sports = require "Module:Infobox/Fonctions/Compétition sportive" local nombre2texte = require "Module:Nombre2texte"
local function race(name, edition) -- affichage de la course et de son numéro d'édition
if not(name or edition) then
return nil
end
return (edition or ) .. ' ' .. (name or ' édition')
end
local function country_table( localdata ) local names = localdata['Pays'] if names then return {type = 'row', label = 'Pays traversé(s)', value = 'Pays'} else return general.country() end end
return { maincolor = '#FFDF80', parts = { general.title('cyclisme'), general.mainimage('Article à illustrer Descriptif course cycliste'), {type = 'table', title = 'Généralités', rows = { { type = 'row', label = 'Course', value = function ( localdata ) return race(localdata['Course'], localdata['Edition']) end, wikidata = function ( item ) local edition = wikidata.formatStatements{ property = 'P393', entity = item, displayformat = function(snak) return nombre2texte.ordinal(snak.datavalue.value) end } local name = wikidata.formatAndCat{property = 'P31', entity = item} if edition then edition = edition .. wikidata.addTrackingCat('P393') end return race(name, edition) end }, {type = 'row', label = 'Nom officiel', value = 'nom officiel', property = 'P1448'}, {type = 'row', label = 'Compétition', value = 'compétition', property = 'P361'}, { type = 'row', label = 'Étapes', value = 'nombre_étape', wikidata = function ( item ) -- suppose que P527 ne contienne que des étapes, et contienne toutes les étapes local stages = wikidata.getClaims{entity = item, property = 'P527'} if not stages then return nil end local str = tostring(#stages) str = wikidata.addLinkBack(str, item, 'P527') return str end }, {type = 'row', label = 'Date', value = 'date', wikidata = function ( item ) return wikidata.mainDate(item) end}, {type = 'row', label = 'Distance', value = 'distance_parcourue', property = 'P2043'}, country_table, {type = 'row', label = 'Lieu de départ', value = 'ville_depart', property = 'P1427'}, {type = 'row', label = "Lieu d'arrivée", value = 'ville_arrivee', property = 'P1444'}, {type = 'row', label = 'Coût', property = 'P2130'}, { type = 'row', label = 'Équipes', value = 'nombre_équipes', wikidata = function ( item ) -- suppose que P1923 ne contienne que des équipes, et contienne toutes les équipes local teams = wikidata.getClaims{entity = item, property = 'P1923'} if not teams then return nil end local str = tostring(#teams) str = wikidata.addLinkBack(str, item, 'P1923') str = str .. wikidata.addTrackingCat('P1923') return str end }, {type = 'row', label = 'Partants', wikidata = {property = 'P1132', qualifier = 'P276', qualifiervalue = 'Q529711'} }, {type = 'row', label = 'Arrivants', wikidata = {property = 'P1132', qualifier = 'P276', qualifiervalue = 'Q15053716'} }, {type = 'row', label = 'Coureurs au départ', value = 'nombre_participant'}, -- paramètre obsolète, ne plus utiliser {type = 'row', label = 'Coureurs à l\'arrivée', value = 'coureurs_arrives'}, -- paramètre obsolète, ne plus utiliser {type = 'row', label = 'Vitesse moyenne', value = 'moyenne_du_vainqueur', property = 'P2052'}, {type = 'row', label = 'Temps', value = 'temps'}, -- remplissage manuel en attendant la possibilité d'utiliser des unités sur Wikidata }, }, {type = 'table', title = 'Résultats', rows = { -- chaque ligne contient : le libellé, le paramètre de modèle à utiliser, le qualificatif Wikidata à utiliser sports.winnerRow2('Vainqueur', 'vainqueur', 'Q20882667'), sports.winnerRow2('Deuxième', 'deuxième', 'Q20882668'), sports.winnerRow2('Troisième', 'troisième', 'Q20882669'), sports.winnerRow2('Classement par points', 'meilleur_points', 'Q20883007'), sports.winnerRow2('Meilleur grimpeur', 'meilleur_grimpeur', 'Q20883212'), sports.winnerRow2('Meilleur sprinteur', 'meilleur_sprinteur', 'Q20883328'), sports.winnerRow2('Meilleur jeune', 'meilleur_jeune', 'Q20883139'), sports.winnerRow2('Super-combatif', 'super_combatif', 'Q20893983'), sports.winnerRow2('Vainqueur du combiné', 'classement_combiné', 'Q20893979'), sports.winnerRow2('Meilleure équipe', 'meilleure_equipe', 'Q20882921'), }}, { type = 'images', imageparameters = {'carte', '1.2'}, property = 'P242', numval = 1 }, { type = 'navbox', previousparameter = "compétition précédente", previouswikidata = {property = "P155", excludespecial = true}, nextparameter = "compétition suivante", nextwikidata = {property = "P156", excludespecial = true}, separated = true, }, } }