Módulo:Zona de pruebas/Josecurioso/Ficha de astronáutica

De Wikipedia, la enciclopedia libre
Este módulo no tiene página de documentación[crear]
local p = {}  --Exportadas

local args = {} --Argumentos limpios
local entidad = {}
local categorias = {}

-- Módulos y otras dependencias
local Wikidata    = require('Módulo:Wikidata')
local ModuloFicha = require('Módulo:Ficha')

function p.Ficha(frame)
	Wikidata:setFrame(frame)
	args = frame:getParent().args --frame.args
	entidad = mw.wikibase.getEntity(args['qid']~=nil and args['qid'] or mw.wikibase.getEntityIdForCurrentPage())

	local estiloTituloSecciones = 'background: #ddf;'
	
	local tituloPagina = mw.title.getCurrentTitle()

	local Ficha = {
		titulo       = args['nombre'],
		tipocabecera = 'cabecera transbordador',
		
		estilo       = 'width:25em; font-size: 90%',
		
		{'Nombres', args['lista_nombres']},
		
		{tipo='sección',
			{'Estado', args['estado']},
			{'Tipo de misión', args['tipo_misión']},	
			{'Operador', args['operador'] or propiedad('P137')},	
			{'Coste', args['coste'] or propiedad('P2130')},	
			{'Designación Harvard', args['designación_Harvard']},	
			{'[[International Designator|ID COSPAR]]', },	
			{'[[Satellite Catalog Number|no. SATCAT]]', },	
			{'ID NSSDCA', args['SATCAT'] or propiedad('P377')},	
			{'Página web', args['sitio_web'] or propiedad('P856')},	
			{'Duración planificada', args['duración_planificada']},	
			{'Duración de la misión', args['duración_misión']},	
			{'Distancia viajada', args['distancia_viajada']},	
			{'Órbitas completadas', args['órbitas_completadas'] or propiedad('P1418')},	
			{'Rango', args['rango_suborbital']},	
			{'Apoastro', args['apogeo_suborbital']},	
		},
		
		{tipo='sección',
			titulo = 'Propiedades de la nave',
			estilotitulo = estiloTituloSecciones,
			{'Nave', 'Dragon'}
			--{'', },	
		},
		
		entidad = args['qid']
	}
	
	table.insert(categorias, '[[Categoría:Categoría de Prueba]]')
	
	
	namespace = mw.title.getCurrentTitle().namespace
    if categorias[1] and (namespace == 0 or namespace == 104) then
        return ModuloFicha.infobox(Ficha) .. table.concat(categorias)
    else
        return ModuloFicha.infobox(Ficha)
    end
	
end

function propiedad(pid, opciones)
    if entidad and entidad.claims and entidad.claims[pid] then
        if not opciones then
            opciones = {} --{['linkback']='sí'}
        end

        opciones.entityId = entidad.id
        opciones.propiedad = pid

        valorPropiedad = getPropiedadWikidata(opciones,entidad.claims[pid])

        if not valorPropiedad then
            return
        end

        return valorPropiedad
    end
	
end


return p