Módulo:Infobox cycling race report

Uso


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 ' Edición')
end

return 
	{
	maincolor = '#FFDF80',
	parts =
		{
			{
			type = 'title',
			value = 'nom',
			icon = 'entete cyclisme',
			},
			general.mainimage(),
			{type = 'table', title = 'Detalles', rows = {
				{	type = 'row',
					label = 'Carrera',
					value = function() return race(localdata['Carrera'], localdata['Edición']) 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 = 'Nombre oficial', value = 'Nombre oficial', property = 'P1448'},
				{type = 'row', label = 'Válida para', value = 'Competición', property = 'P361'},
				{type = 'row', label = 'Etapas', value = 'Etapas', 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 = 'Fecha', value = 'Fecha', wikidata = function() return wikidata.maindate(item) end},
				{type = 'row', label = 'Distancia total', value = 'Distancia total'}, -- remplissage manuel en attendant la possibilité d'utiliser des unités sur Wikidata
				general.country(),
				{type = 'row', label = 'País', value = 'País'}, -- paramètre obsolète, ne plus utiliser
				{type = 'row', label = 'Lugar de inicio', property = 'P1427'},
				{type = 'row', label = 'Lugar de llegada', property = 'P1444'},
				{type = 'row', label = 'Ciclistas participantes', wikidata =
					function()
						return wikidata.formatAndCat({entity = item, property = 'P1132', qualifier = 'P276', qualifiervalue = 'Q15053706'})
				end
				},
				{type = 'row', label = 'Equipos', value = 'Equipos', 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 = 'Ciclistas finalizados', wikidata = function() return wikidata.formatAndCat({entity = item, property = 'P1132', qualifier = 'P276', qualifiervalue = 'Q15053716'}) end },
				{type = 'row', label = 'Ciclistas participantes', value = 'Ciclistas participantes'}, -- paramètre obsolète, ne plus utiliser
				{type = 'row', label = 'Ciclistas finalizados', value = 'Ciclistas finalizados'}, -- paramètre obsolète, ne plus utiliser
				},
			},
			{type = 'table', title = 'Resultados', rows = {
				{type = 'row', label = 'Primero', value = 'Primero', 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 = 'Ganador de velocidad'}, -- remplissage manuel en attendant la possibilité d'utiliser des unités sur Wikidata
				{type = 'row', label = 'Segundo', value = 'Segundo'}, -- même commentaire que pour le champ du vainqueur
				{type = 'row', label = 'Tercero', value = 'Tercero'}, -- même commentaire que pour le champ du vainqueur
				{type = 'row', label = 'Puntos', value = 'Puntos'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				{type = 'row', label = 'Montaña', value = 'Montaña'}, -- 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 = 'Jóvenes', value = 'Jóvenes'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				{type = 'row', label = 'Combatividad', value = 'Combatividad'}, -- 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 = 'Equipos', value = 'Equipos'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				},
			},
			{type = 'images',
				imageparameters = {'mapa'},
				property = 'P242',
				numval = 1
			},
			{type = 'navbox',
				previousparameter = "competencia anterior",
				previousproperty = "P155",
				nextparameter = "próxima competencia",
				nextproperty = "P156",
				class = 'bordered',
			},
		}
	}