Modul:Infobox cycling race report

Die Dokumentation für dieses Modul kann unter Modul:Infobox cycling race report/Doku erstellt werden

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 ' ausgabe')
end

return 
	{
	maincolor = '#FFDF80',
	parts =
		{
			{
			type = 'title',
			value = 'nom',
			icon = 'entete cyclisme',
			},
			general.mainimage(),
			{type = 'table', title = 'Überblick', rows = {
				{	type = 'row',
					label = 'Rennen',
					value = function() return race(localdata['Rennen'], localdata['Ausgabe']) 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 = 'Offizieller Name', value = 'offizieller Name', property = 'P1448'},
				{type = 'row', label = 'Rennserie', value = 'kategorie', property = 'P361'},
				{type = 'row', label = 'Etappen', value = 'etappen', 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 = 'Austragungszeitraum', value = 'zeitraum', wikidata = function() return wikidata.maindate(item) end},
				{type = 'row', label = 'Gesamtlänge', value = 'laenge'}, -- remplissage manuel en attendant la possibilité d'utiliser des unités sur Wikidata
				general.country(),
				{type = 'row', label = 'Austragungsland', value = 'land'}, -- paramètre obsolète, ne plus utiliser
				{type = 'row', label = 'Abfahrt', value = 'abfahrt', property = 'P1427'},
				{type = 'row', label = 'Fertig', value = 'fertig', property = 'P1444'},
				{type = 'row', label = 'Runners', wikidata =
					function()
						return wikidata.formatAndCat({entity = item, property = 'P1132', qualifier = 'P276', qualifiervalue = 'Q15053706'})
				end
				},
				{type = 'row', label = 'Teams', value = 'teams', 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 = 'Ankunft', wikidata = function() return wikidata.formatAndCat({entity = item, property = 'P1132', qualifier = 'P276', qualifiervalue = 'Q15053716'}) end },
				{type = 'row', label = 'Runners', value = 'starter'}, -- paramètre obsolète, ne plus utiliser
				{type = 'row', label = 'Ankunft', value = 'imziel'}, -- paramètre obsolète, ne plus utiliser
				},
			},
			{type = 'table', title = 'Ergebnisse', rows = {
				{type = 'row', label = 'Erster', value = 'erster', 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 = 'durchschnittsgeschwindigkeit'}, -- remplissage manuel en attendant la possibilité d'utiliser des unités sur Wikidata
				{type = 'row', label = 'Zweiter', value = 'zweiter'}, -- même commentaire que pour le champ du vainqueur
				{type = 'row', label = 'Dritter', value = 'dritter'}, -- même commentaire que pour le champ du vainqueur
				{type = 'row', label = 'Punktewertung', value = 'punktewertung'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				{type = 'row', label = 'Bergwertung', value = 'bergwertung'}, -- 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 = 'Nachwuchswertung', value = 'nachwuchswertung'}, -- 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 = 'Teamwertung', value = 'teamsieger'}, -- solution provisoire dans l'attente de la création d'une nouvelle propriété
				},
			},
			{type = 'images',
				imageparameters = {'karte'},
				property = 'P242',
				numval = 1
			},
			{type = 'navbox',
				previousparameter = "vorjahr",
				previousproperty = "P155",
				nextparameter = "folgejahr",
				nextproperty = "P156",
				class = 'bordered',
			},
		}
	}