Módulo:Ficha de censo
Este módulo no tiene página de documentación[crear]
local z = {}
-- Módulos y funciones externas
local ModuloArgumentos = require('Módulo:Argumentos')
local ModuloFormatos = require('Módulo:Wikidata/Formatos')
local ModuloFicha = require('Módulo:Ficha')
local ModuloWikidata = require('Módulo:Wikidata')
local ModuloPaginas = require('Módulo:Páginas')
local formatoNumero = ModuloFormatos.formatoNumero2
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',
{mw.wikibase.getLabel, entidadId}, {ModuloPaginas.nombrePagina, {desambiguar='sí'}}}
local imagen = argumentos{'imagen'}
local tamano_imagen = argumentos{'tamaño_imagen'} or '220px'
local pie_imagen = argumentos{'pie_imagen'}
local poblacion = argumentos{'poblacion'}
if poblacion~=nil and poblacion~='' and argumentos{'variacion'}~=nil and argumentos{'variacion'}~='' then
poblacion = formatoNumero(argumentos{'poblacion'}) .. ' hab. <small>(' .. argumentos{'variacion'} .. ' %)</small>'
elseif (poblacion~=nil and poblacion~='' ) then
poblacion = formatoNumero(argumentos{'poblacion'}) .. ' hab.'
end
local hombres = argumentos{'poblacion_masc'}
if argumentos{'poblacion_masc'}~=nil and argumentos{'poblacion_masc'}~='' and argumentos{'porcentaje_masc'}~=nil and argumentos{'porcentaje_masc'}~='' then
hombres = formatoNumero(argumentos{'poblacion_masc'}) .. ' hab. <small>(' .. argumentos{'porcentaje_masc'} ..' %)</small>'
elseif (argumentos{'poblacion_masc'}~=nil and argumentos{'poblacion_masc'}~='') then
hombres = formatoNumero(argumentos{'poblacion_masc'}) .. ' hab.'
end
local mujeres = argumentos{'poblacion_fem'}
if argumentos{'poblacion_fem'}~=nil and argumentos{'poblacion_fem'}~='' and argumentos{'porcentaje_fem'}~=nil and argumentos{'porcentaje_fem'}~='' then
mujeres = formatoNumero(argumentos{'poblacion_fem'}) .. ' hab. <small>(' .. argumentos{'porcentaje_fem'} .. ' %)</small>'
elseif (argumentos{'poblacion_fem'}~=nil and argumentos{'poblacion_fem'}~='') then
mujeres = formatoNumero(argumentos{'poblacion_fem'}) .. ' hab.'
end
local densidad = argumentos{'densidad'}
if densidad~=nil and densidad~='' then
densidad = densidad .. ' '..'hab/km²'
end
local region_mayor = argumentos{'region_mayor'}
if argumentos{'region_mayor'}~=nil and argumentos{'region_mayor'}~='' and argumentos{'region_mayor_pob'}~=nil and argumentos{'region_mayor_pob'}~='' then
region_mayor = argumentos{'region_mayor'} .. ' <small>(' .. formatoNumero(argumentos{'region_mayor_pob'}) .. ' hab.)</small>'
elseif argumentos{'region_mayor'}~=nil and argumentos{'region_mayor'}~='' then
region_mayor = argumentos{'region_mayor'}
end
local region_menor = argumentos{'region_menor'}
if argumentos{'region_menor'}~=nil and argumentos{'region_menor'}~='' and argumentos{'region_menor_pob'}~=nil and argumentos{'region_menor_pob'}~='' then
region_menor = argumentos{'region_menor'} .. ' <small>(' .. formatoNumero(argumentos{'region_menor_pob'}) .. ' hab.)</small>'
elseif argumentos{'region_menor'}~=nil and argumentos{'region_menor'}~='' then
region_menor = argumentos{'region_menor'}
end
local ciudad = argumentos{'ciudad_mayor'}
if argumentos{'ciudad_mayor'}~=nil and argumentos{'ciudad_mayor'}~='' and argumentos{'ciudad_mayor_pob'}~=nil and argumentos{'ciudad_mayor_pob'}~='' then
ciudad = argumentos{'ciudad_mayor'} .. ' <small>(' .. formatoNumero(argumentos{'ciudad_mayor_pob'}) .. ' hab.)</small>'
elseif argumentos{'ciudad_mayor'}~=nil and argumentos{'ciudad_mayor'}~='' then
ciudad = argumentos{'ciudad_mayor'}
end
local previo = argumentos{'anterior_año'}
if argumentos{'anterior_año'}~=nil and argumentos{'anterior_año'}~='' and argumentos{'anterior_enlace'}~=nil and argumentos{'anterior_enlace'}~='' then
previo = '[['..argumentos{'anterior_enlace'}..'|'..argumentos{'anterior_año'}..']]'
elseif argumentos{'anterior_año'}~=nil and argumentos{'anterior_año'}~='' then
previo = argumentos{'anterior_año'}
end
local proximo = argumentos{'siguiente_año'}
if argumentos{'siguiente_año'}~=nil and argumentos{'siguiente_año'}~='' and argumentos{'siguiente_enlace'}~=nil and argumentos{'siguiente_enlace'}~='' then
proximo = '[[' .. argumentos{'siguiente_enlace'} .. '|' .. argumentos{'siguiente_año'}..']]'
elseif argumentos{'siguiente_año'}~=nil and argumentos{'siguiente_año'}~='' then
proximo = argumentos{'siguiente_año'}
end
local sucesion
if argumentos{'anterior_año'} or argumentos{'siguiente_año'} then
sucesion = {
tipo = 'sección',
['título'] = 'Cronología',
estilotitulo = estiloseccion,
{
tipo = 'sucesión',
anterior = previo,
actual = '◄ Actual ►',
siguiente = proximo,
}
}
end
local Ficha = {
tipocabecera = "humano",
colorfondotitulo = "#DCDCDC",
estilosubtitulo = "background-color:#DCDCDC",
estiloseccion = "background-color:#DCDCDC",
estilopiedetabla = "background-color:#DCDCDC",
estilopie = "font-size:85%",
titulo = titulo,
imagen = argumentos{'logo'},
['tamañoimagen'] = '180px',
imagen2 = imagen,
['tamañoimagen2'] = tamano_imagen,
pie2 = pie_imagen,
{tipo='sección',
titulo = 'Información general',
{'Nombre oficial', argumentos{'nombre_oficial'}},
{'Tipo de censo', argumentos{'tipo'}},
{'Lugar', argumentos{'lugar'}},
{'Fecha de realización', argumentos{'fecha'}},
{'Autoridad responsable', argumentos{'autoridad'}},
{'Costo de realización', argumentos{'costo'}}
},
{tipo='sección',
titulo = 'Datos de población',
{'Población', poblacion},
{'Población masculina', hombres},
{'Población femenina', mujeres},
{'Densidad de población', densidad},
{'Región más poblada', region_mayor},
{'Región menos poblada', region_menor},
{'Ciudad más poblada', ciudad}
},
{tipo='sección',
titulo = 'Datos de vivienda',
{'Total de viviendas', formatoNumero(argumentos{'vivienda_total'})},
{'Viviendas urbanas', formatoNumero(argumentos{'vivienda_urbana'})},
{'Viviendas rurales', formatoNumero(argumentos{'vivienda_rural'})}
},
{tipo='sección',
titulo = 'Datos económicos',
{'Total de establecimientos', formatoNumero(argumentos{'establecimientos'})},
{'Total de trabajadores', formatoNumero(argumentos{'trabajadores'})},
},
sucesion,
piedetabla = argumentos{'sitio_web'}
}
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