پرش به محتوا

پودمان:Infobox cycling race report

از ویکی‌پدیا، دانشنامهٔ آزاد
توضیحات پودمان[ایجاد] [پاکسازی]
local wikidata = require "Module:Utilitaire Wikidata"
local general = require "Module:Infobox/Fonctions"
local outils = require "Module:Outils"

local function race(name, edition)
	if not(name or edition) then
		return nil
	end
	return (edition or '') .. ' ' .. (name or ' édition')
end

return 
	{
	maincolor = '#FFDF80',
	parts =
		{
			{
			type = 'title',
			value = 'nom',
			icon = 'entete cyclisme',
			},
			general.mainimage(),
			{type = 'table', title = 'Généralités', rows = {
				{	type = 'row',
					label = 'Course',
					value = function() return race(localdata['Course'], localdata['Edition']) end,
					wikidata = function()
						local edition = wikidata._formatStatements{property = 'P393', entity = item, displayformat = function(snak) return outils.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() -- 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')
						str = str .. wikidata.addtrackingcat('P527')
						return str
				end
				}, 
				{type = 'row', label = 'Date', value = 'date', wikidata = function() return wikidata.maindate(item) end},
				{type = 'row', label = 'Distance', value = 'distance_parcourue'}, -- remplissage manuel en attendant la possibilité d'utiliser des unités sur Wikidata
				general.country(),
				{type = 'row', label = 'Pays traversé(s)', value = 'Pays'}, -- paramètre obsolète, ne plus utiliser
				{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 = 'Partants', wikidata =
					function()
						return wikidata.formatAndCat({entity = item, property = 'P1132', qualifier = 'P276', qualifiervalue = 'Q15053706'})
				end
				},
				{type = 'row', label = 'Équipes', value = 'nombre_équipes', wikidata =
					function() -- 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 = 'Arrivants', wikidata = function() return wikidata.formatAndCat({entity = item, property = 'P1132', qualifier = 'P276', qualifiervalue = 'Q15053716'}) end },
				{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 = 'table', title = 'Résultats', rows = {
				{type = 'row', label = 'Vainqueur', value = 'vainqueur', property = 'P1346'}, -- solution provisoire, il faudra aller chercher le premier du classement général lorsque la propriété aura été créée
				{type = 'row', label = ' ', value = 'moyenne_du_vainqueur'}, -- remplissage manuel en attendant la possibilité d'utiliser des unités sur Wikidata
				{type = 'row', label = 'Deuxième', value = 'deuxième'}, -- même commentaire que pour le champ du vainqueur
				{type = 'row', label = 'Troisième', value = 'troisième'}, -- même commentaire que pour le champ du vainqueur
				{type = 'row', label = 'Classement par points', value = 'meilleur_points'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				{type = 'row', label = 'Meilleur grimpeur', value = 'meilleur_grimpeur'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				{type = 'row', label = 'Meilleur sprinteur', value = 'meilleur_sprinteur'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				{type = 'row', label = 'Meilleur jeune', value = 'meilleur_jeune'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				{type = 'row', label = 'Super-combatif', value = 'super_combatif'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				{type = 'row', label = 'Vainqueur du combiné', value = 'classement_combiné'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				{type = 'row', label = 'Meilleure équipe', value = 'meilleure_equipe'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				},
			},
			{type = 'images',
				imageparameters = {'carte'},
				property = 'P242',
				numval = 1
			},
			{type = 'navbox',
				previousparameter = "compétition précédente",
				previousproperty = "P155",
				nextparameter = "compétition suivante",
				nextproperty = "P156",
				class = 'bordered',
			},
		}
	}