Ir al contenido

Módulo:Ficha de epidemia

De Wikipedia, la enciclopedia libre

Uso

Para uso de {{Ficha de epidemia}}.


local z = {}

-- Módulos y funciones externas
local ModuloArgumentos	= require('Módulo:Argumentos')
local ModuloFicha		= require('Módulo:Ficha')
local ModuloWikidata	= require('Módulo:Wikidata')
local ModuloPaginas		= require('Módulo:Páginas')
local argumentos		= ModuloArgumentos.obtenerValorDeArgumentos
local entidadId

function z.Ficha(frame)
	ModuloWikidata:setFrame(frame)
    ModuloArgumentos.obtenerTablaDeArgumentos(frame)
	entidadId		= argumentos{'id','entidad'} or mw.wikibase.getEntityIdForCurrentPage()
    local titulo	= argumentos{'titulo', 'nombre',
    	{mw.wikibase.getLabel, entidadId}, {ModuloPaginas.nombrePagina, {desambiguar='sí'}}}
    
    local parte_de = argumentos{'parte_de'}
    if parte_de then
    	parte_de = "Parte de " .. parte_de
    end
    
    local mapa			= argumentos{'mapa'}
    local tamano_mapa	= argumentos{'tamaño_mapa'} or "220px"
    local pie_mapa		= argumentos{'pie_mapa'}
    
    local mapa2			= argumentos{'mapa2'}
    local tamano_mapa2	= argumentos{'tamaño_mapa2'} or "220px"
    local pie_mapa2		= argumentos{'pie_mapa2'}
    
    local imagen		= argumentos{'imagen'}
    local tamano_imagen	= argumentos{'tamaño_imagen'} or "220px"
    local pie_imagen	= argumentos{'pie_imagen'}
    
    local origen = argumentos{'origen', {propiedad, 'P495', {separador = '<br>'}}}
    if origen and argumentos{'fecha_origen'} then
    	origen = origen .. '&nbsp;'..'<small style="line-height:130%">(' .. argumentos{'fecha_origen'} .. ')</small>'
    end

    local Ficha = {
		tipocabecera    	= "medicina",
		colorfondotitulo	= "#DCDCDC",
		estilosubtitulo 	= "background-color:#DCDCDC",
		estiloseccion   	= "background-color:#DCDCDC",
		estilopiedetabla	= "background-color:#DCDCDC",
		estilopie       	= "font-size:85%",
		
        titulo      		= titulo,
        subtitulo   		= parte_de,

        imagen      		= mapa,
        ['tamañoimagen']	= tamano_mapa,
        pie		    		= pie_mapa,
        imagen2      		= mapa2,
        ['tamañoimagen2']	= tamano_mapa2,
        pie2	    		= pie_mapa2,
        imagen3      		= imagen,
        ['tamañoimagen3']	= tamano_imagen,
        pie3		  		= pie_imagen,

        {tipo='sección',
        	titulo = 'Agente patógeno',
			{'Patógeno', argumentos{'patogeno', {propiedad,'P828',{separador = '<br>'}}}},
			{'Tipo de patógeno', argumentos{'tipo_patogeno'}},
			{'Enfermedad causada', argumentos{'enfermedad'}}
		},

		{tipo='sección',
			titulo = 'Datos históricos',
			{'Inicio', argumentos{'fecha_inicio'}},
			{'Declaración del [[Estado de emergencia|estado<br>de emergencia]]', argumentos{'fecha_emergencia'}},
			{'Declaración de epidemia', argumentos{'fecha_epidemia'}},
			{'Declaración de pandemia', argumentos{'fecha_pandemia'}},
			{'Cuarentena', argumentos{'cuarentena'}},
			{'Fin', argumentos{'fecha_fin'}},
			{'Lugar de inicio', origen}, 
			{'Lugar de procedencia', argumentos{'procedencia'}},
			{'Lugar del primer caso local', argumentos{'primer_caso'}},
			{'Nivel del contagio', argumentos{'tipo_contagio'}},
			{'Lugares afectados', argumentos{'lugares_afectados'}}
		},

		{tipo='seccion',
			titulo = 'Datos del contagio',
			{'Casos confirmados', argumentos{'confirmados' --[[ , {propiedad, 'P1603',
				{uno = 'último', ['valor-función'] = 'formatoNumero',
					['valor-módulo'] = 'Wikidata/Formatos', linkback = 'sí'}} --]] }},
			{'Casos sospechosos', argumentos{'sospechosos'}},
			{'Fallecidos', argumentos{'fallecidos' --[[ , {propiedad, 'P1120',
				{uno = 'último', ['valor-función'] = 'formatoNumero',
					['valor-módulo'] = 'Wikidata/Formatos', linkback = 'sí'}} --]] }},
			{'Casos activos', argumentos{'activos'}},
			{'Casos recuperados', argumentos{'recuperados' --[[ , {propiedad, 'P8010',
				{uno = 'último', ['valor-función'] = 'formatoNumero',
					['valor-módulo'] = 'Wikidata/Formatos', linkback = 'sí'}} --]] }},
			{'Pruebas realizadas', argumentos{'pruebas_realizadas' --[[ , {propiedad, 'P8011',
				{uno = 'último', ['valor-función'] = 'formatoNumero',
					['valor-módulo'] = 'Wikidata/Formatos', linkback = 'sí'}} --]] }},
			{'Vacunaciones', argumentos{'vacunaciones' --[[ , {propiedad, 'P9107',
				{uno = 'último', ['valor-función'] = 'formatoNumero',
					['valor-módulo'] = 'Wikidata/Formatos', linkback = 'sí'}} --]] }}
		},
--]]	
	}
    return ModuloFicha.infobox(Ficha)
end

function propiedad(idPropiedad,opciones)
	local declaraciones = entidadId and mw.wikibase.getBestStatements(entidadId, idPropiedad)
    if declaraciones then
        if not opciones then
            opciones = {['linkback']='sí'}
        end
        opciones.entityId  = entidadId
        opciones.propiedad = idPropiedad
        valorPropiedad = ModuloWikidata.getPropiedad(opciones,declaraciones)
        return valorPropiedad
    end
end

return z