Módulo:Ficha de país en los Juegos Olímpicos/generar

Icono de documentación de módulo Documentación del módulo[ver] [editar] [historial] [purgar]

A continuación se muestra la documentación transcluida desde la subpágina /doc. [salta a la caja de código]


Esta es una tabla de datos para el módulo Ficha de país en los Juegos Olímpicos, la cual intenta emular la funcionalidad de las plantillas complementarias de la actual plantilla {{Ficha de país en los Juegos Olímpicos}}: {{código del COI}}, {{Ficha de país en los Juegos Olímpicos/juegos}}, {{Ficha de país en los Juegos Olímpicos/verano}} y {{Ficha de país en los Juegos Olímpicos/invierno}}, basándose en datos importados desde Wikidata a través del servicio SPARQL y analizados mediante una herramienta desarrollada en Python por Amitie 10g, Wikibase Olympics, lanzada en el dominio público (Unlicense).


Esta documentación está transcluida desde Módulo:Ficha de país en los Juegos Olímpicos/generar/doc.
Por favor, añade las categorías en la subpágina de documentación y los interwikis en Wikidata. Subpáginas de este módulo.

p = {}

function p.main(frame)
	local datosExistentes	= mw.loadData('Módulo:Ficha de país en los Juegos Olímpicos/datos')
	local datosPaises		= mw.loadData('Módulo:Ficha de país en los Juegos Olímpicos/COI')
	local datosEventos		= mw.loadData('Módulo:Ficha de país en los Juegos Olímpicos/eventos')
	local datos				= {}
	
	local Resultado = {}
	table.insert(Resultado, 'return {')
	
	for k, v in pairs(datosExistentes) do
	table.insert(Resultado, '\t[' .. k .. '] = {')
	for kk, vv in pairs(v) do
		table.insert(Resultado, "\t\t[" .. kk .. "] = {'" .. vv[1] .. "', '" .. vv[2] .. "', '" .. vv[3] .. "},")
	end
	table.insert(Resultado, '\t},')
	end
	
	for k, v in pairs(datosPaises) do
		if not datosExistentes[k] then
		table.insert(Resultado, '\t[' .. k .. '] = {')
			for kk, vv in pairs(datosEventos) do
				table.insert(Resultado, "\t\t[" .. vv .. "] = {'" .. v .. "', 'Comité', 'Bandera' },")
			end
		table.insert(Resultado, '\t},')
		end
	end
	
	table.insert(Resultado, '}')
	
	return frame:preprocess('<syntaxhighlight lang="lua">' .. table.concat(Resultado, '\n') .. '</syntaxhighlight>')
	
end

return p