Diferencia entre revisiones de «Módulo:Ficha de edificio»

Contenido eliminado Contenido añadido
cambio color de hospital
Reformulando la forma de captar argumentos; reemplazando funciones locales por importadas; agregando argumentos faltantes de la Ficha de edificio, de la Ficha de hotel, y de la Ficha de edificio religioso [inacabado, suficiente por hoy]
Línea 1:
local z = {}
 
local argumentos
local args -- used as global in ModuloArgs
local argumento={}
local Entidad -- used as global in local functions
local ModuloFicha = require('Módulo:Ficha')
local ModuloWikidata = require('Módulo:Wikidata')
local ModuloFormato = require('Módulo:Formato texto')
local ModuloPaginas = require('Módulo:Páginas')
local ModuloArgs = require('Módulo:Argumentos')
local argumento = ModuloArgs.obtenerValorDeArgumentos
local elementoTabla = require('Módulo:Tablas').elemento
local sinBandera = require('Módulo:Bandera').sinBandera
Línea 18 ⟶ 20:
ModuloWikidata:setFrame(frame)
local valor = ''
----argumento = obtenerArgumentosConValor(frame)
--return argumento['fecha primera piedra']
obtenerArgumentosConValor(frame)
ModuloArgs.obtenerTablaDeArgumentos(frame)
return argumento['fecha primera piedra']
return argumento{'fecha primera piedra'}
end
 
function z.Ficha(frame)
ModuloWikidata:setFrame(frame)
ModuloArgs.obtenerTablaDeArgumentos(frame)
obtenerArgumentosConValor(frame)
if argumento['wikidata'] == 'no' and (argumento['fecha de inauguración'] then
obtenerDatosWikidata = false -- sin uso ?
or argumento['fecha de demolición']
) then
obtenerDatosWikidata = false
Entidad = nil
else
obtenerDatosWikidata = true -- sin uso ?
-- Obtener los datos de la página donde se inserta la ficha de Wikidata.
Entidad = mw.wikibase.getEntityObject(argumento['id']) or {}
end
 
local paisimagen = argumento[{'paisimagen'] or argumento['país'] or propiedad('P17')}
local pieDeImagen = argumento{'texto imagen', 'texto_imagen', 'pie de imagen', 'pie imagen', 'pie', 'pie_imagen'}
local tipodivadministrativa = argumento['tipo_división_administrativa']
if not imagen then
local divadministrativa = argumento['división_administrativa']
imagen, pieDeImagen = ModuloWikidata.obtenerImagenWikidata(Entidad, 'P18')
local imagen = argumento['imagen'] or argumento['Imagen'] or argumento['foto']
local pieDeImagen
 
if imagen then
pieDeImagen = argumento['pie de imagen'] or argumento['pieimagen'] or
argumento['descripción'] or argumento['descripcion'] or
argumento['pie de foto'] or argumento['piedefoto'] or
argumento['textoimagen'] or argumento['TextoImagen'] or
argumento['texto_imagen'] or argumento['pie de foto']
else
imagen, pieDeImagen = obtenerImagenWikidata()
end
 
nombre = argumento['nombre'] or argumento['Nombre'] or
local nombre = argumento{'nombre'} or
obtenerEtiquetaWikidata() or
-- ModuloWikidata.obtenerEtiquetaWikidata() or -- prioridad local
ModuloPaginas.nombrePagina({desambiguar='sí'})
local nombrelocal = argumento[{'nombre local'], or argumento['Nombrenombre_local', local{propiedad, 'P1705']}}
if nombrenombrelocal and nombrelocal and nombre ~= nombrelocalnombre then
titulonombrelocal = nombre .. '<br /><span style="font-size:smaller"i>' .. nombrelocal .. '</spani>'
else
titulonombrelocal = nombrenil
end
 
local color = obtenerColor()
 
local estilotitulo = 'background-color:'..color.. '; font-style:normal'
local estiloseccion = 'background-color:'..color
local evsigs = devolverelemensigs(Entidad)
local fechainicio, fechafin,= primerapiedraargumento{'inicio'} or (evsigs and evsigs['Q385378']) or ''
local fechafin = argumento{'finalización', 'término'} or (evsigs and evsigs['Q385378']) or ''
if evsigs ~= nil then
fechainicio local primerapiedra = argumento['inicio{']fecha orprimera argumento[piedra'Inicio']} or (evsigs and evsigs['Q385378Q106863']) or ''
 
fechafin = argumento['fin'] or argumento['Fin'] or (evsigs['Q385378']) or ''
local direccionpostal = argumento{'dirección', 'calle', {propiedad, 'P6375'}, {obtenerCalle}}
primerapiedra = argumento['fecha primera piedra'] or argumento['Fecha primera piedra'] or evsigs['Q106863'] or ''
local codigopostal = argumento{'código postal', 'código_postal', {propiedad, 'P281'}}
else
fechainicio = argumento['inicio'] or argumento['Inicio']
fechafin = argumento['fin'] or argumento['Fin'] or argumento['término']
primerapiedra = argumento['fecha primera piedra'] or argumento['Fecha primera piedra']
end
local direccionpostal = argumento['dirección'] or argumento['dirección postal'] or propiedad('P6375') or obtenerCalle()
local codigopostal = argumento['código postal'] or propiedad('P281')
if codigopostal then
direccionpostal = ModuloFormato.separadosPorComa({direccionpostal, codigopostal})
end
 
local logotipo = argumento['logotipo'] or argumento['Logotipo'] or argumento['logo'] or argumento['Logotipo'] or propiedad('P154')
-- TODO: NUEVO -- sin uso ?
local logotipo = argumento{'logotipo', 'logo', {propiedad, 'P154'}}
if logotipo ~= nil then
logotipo = '[[Archivo:'..logotipo..']]'
end
 
local Ficha =
{
['titulo']tipocabecera = titulo'edificio',
estilotitulo = 'background-color:'..color,
estiloseccion = 'background-color:'..color,
estilosubtitulo = 'background-color:' .. color .. '; font-size:110%',
estiloetiqueta = 'width:33%;',
estilopie = 'font-size:95%',
 
['titulo'] = nombre,
['subtitulo'] = nombrelocal,
imagen = imagen,
['tamañoimagen'] = argumento[{'tamaño', de imagen']tamaño_imagen'} or argumento['tamaño275px'] or,
argumento['tamaño imagen'] or argumento['tamañoimagen'] or
argumento['tamañodelaimagen'] or argumento['tamaño de foto'] or
'220px',
pie = pieDeImagen,
{ '', logotipo },
tipocabecera = 'edificio',
-- TODO: argumento{'mapa loc', 'mapa'}, argumento{'mapa alternativo'}, argumento{'tam mapa loc'} or '275', argumento{'mark'} or 'Red pog.svg', argumento{'marksize'} or '8', argumento{'pos etiqueta loc'}, argumento{'pie mapa'}
estilotitulo = estilotitulo,
{tipo = 'sección',
estiloseccion = estiloseccion,
estiloetiqueta ['titulo'] = 'width:33%;Localización',
{ 'País', sinBandera( argumento{'país', {propiedad, 'P17', {rango_mayor='sí'}}} ) },
{'',logotipo},
{ argumento{'tipo_división_administrativa', 'tipo_división'} or 'División', sinBandera( argumento{'división_administrativa', 'división'} ) },
{tipo = "sección",
{ argumento{'tipo_subdivisión_administrativa', 'tipo_subdivisión'} or 'Subdivisión', sinBandera( argumento{'subdivisión_administrativa', 'subdivisión'} ) },
['titulo'] = "Localización",
-- -- TODO: NUEVO
{'País', sinBandera( pais )},
-- -- -- se repiten 'país'/P17, 'división', 'subdivisión'
{tipodivadministrativa, sinBandera( divadministrativa )},
-- { 'CoordenadasLocalidad' , argumento['coor'] orsinBandera( argumento['coordenadas'] or propiedad({'P625localidad', {formato='dmsmunicipio', display='inline,titleciudad', tipo='edu'{propiedad, uno='P276'}} ) },
-- { 'LocalizaciónUbicación', sinBandera( argumento[{'localización'], or'ubicación', {propiedad, 'P131', {uno='sí'}}} ) },
{ 'Localización', sinBandera( argumento{'localización', 'ubicación'}
ModuloFormato.enVariasLineas({ModuloFormato.separadosPorComa({argumento['ciudad'], argumento['estado'], argumento['país']})}) or
or ModuloFormato.enVariasLineas({propiedad('P969'), ModuloFormato.separadosPorComa({propiedad('P131'),propiedad('P17')})}) )},
argumento{'localidad', 'municipio', 'ciudad'}, argumento{'estado'}, argumento{'país'}
{'Dirección postal', sinBandera( direccionpostal )},
})})
or ModuloFormato.enVariasLineas({propiedad('P969'), ModuloFormato.separadosPorComa({propiedad('P131'),propiedad('P17')})}) )
},
{ 'Dirección', sinBandera( direccionpostal ) },
{ 'Coordenadas' , argumento{ {propiedad, 'P625', {formato='dms', display='inline,title', tipo='landmark', uno='sí'}} } }, -- argumento{'coordenadas'}
},
{tipo = "'sección"',
['titulo'] = "'Información general"',
{ 'Nombres anteriores', argumento[{'nombres anteriores'], or'nombre argumento[anterior'Nombres, anteriores']nombre inicial'} },
{ 'Otros nombres', argumento[{'otros nombres'], or argumento['Otrosotro nombresnombre'] or, {propiedad(, 'P4970')}} },
{ 'OrganizaciónEstado', argumento[{'organizaciónestado'], or argumento['Organizacióncondición'] or, propiedad('P749estatus')} },
{ 'PropietarioUsos', argumento[{'dueñouso'], or'usado', argumento['Dueñotipo'] or, {propiedad(, 'P127P366'), {rango_mayor='sí'}}} },
{ 'EstadoEstilo', argumento[{'estadoestilo'], or argumento[{'EstadoP149']}} },
{ 'Catalogación', argumento[{'catalogación'], or{propiedad, argumento['CatalogaciónP1435'], {rango_mayor='sí'}}} },
{'Se conecta con'Figura', argumento[{'se conecta configura']} or argumento['Se conecta con']},
{ 'Declaración', argumento{'declaración', --[[ TODO: se repite con 'Catalogación': {propiedad, 'P1435', {calificador='P580'}}--]] } },
{'Cruza',argumento['cruza'] or argumento['Cruza']},
{'Número de vanos'Código', argumento[{'ojoscódigo'], or{propiedad, argumento['OjosP808']}} },
{ 'OcupanteParte de', argumento[{'ocupantepartede'], or{propiedad, argumento['OcupanteP361']}} },
{ 'UsosNombrado en honor a', argumento[{'uso']nombrado oren argumento[honor a'Uso, '] oretimología', {propiedad(, 'P366P138')}} },
{ 'Inicio[[Primera de obrapiedra]]', fechainicioprimerapiedra },
{ 'Inicio de obra', fechainicio },
{'[[Coronación]]', argumento['coronación'] or argumento['Coronación']},
{ '[[Coronación (arquitectura)|Coronación]]', argumento{'fecha coronación', 'coronación', 'coronado'} },
{'Finalización de obra', fechafin},
{ 'Finalización', fechafin }, -- TODO: 'Finalización estimada' argumento({'estim completado', 'estim_completado'})
{'Fundación', argumento['fundación'] or argumento['Fundación'] or propiedad('P571')},
{ 'ClausuraFundación', argumento[{'clausurafundación'], or'año_construccion', argumento['Clausuraconstruido'], or'año construcción', 'año de construcción', 'construcción', {propiedad(, 'P3999P571'), {uno='sí'}}} },
{'Número de camas'Inauguración', argumento[{'camasfecha inauguración'], or'fecha argumento[de inauguración'Camas, ']fecha orde la inauguración', {propiedad(, 'P6801P1619'), {uno='sí'}}} },
{'Número de télefono'Cierre', argumento[{'telefono']fecha ordel argumento[cierre'Telefono']} or propiedad('P1329')},
{ argumento{'fecha demolición', 'demolición'} and 'Demolido' or 'Destruido', argumento{'fecha demolición', 'demolición', 'fecha destruido', 'destruido'} },
{'Emergencias', argumento['emergencias'] or argumento['Emergencias']},
{ 'AfiliaciónPropietario', argumento[{'afiliaciónpropietario'] or, argumento['Afiliacióndueño'] or, {propiedad(, 'P1416P127')}} },
-- TODO: diferencia entre 'Arrendatario' y 'Ocupante' ?
{'Red', argumento['red'] or argumento['Red']},
{ 'ClasificaciónArrendatario', argumento[{'clasificaciónarrendatarios'], or'arrendatario', argumento['Clasificacióninquilinos']} },
{ 'EspecialidadOcupante', argumento[{'especialidadocupante'], or'ocupantes', {propiedad, argumento['EspecialidadP466'], {uno='sí'}}} },
-- -- TODO: NUEVO: -- sin uso ?
{'Financiamiento', argumento['financiamiento'] or argumento['Financiamiento']},
-- { 'Organización', argumento{'organización', {propiedad, 'P749'}} },
{'Coste', argumento['costo'] or argumento['coste'] or argumento['Coste'] or argumento['Costo'] or propiedad('P2130')},
-- { 'EstiloSe conecta con', argumento[{'estilo']se orconecta argumento[con'Estilo']} or propiedad('P149')},
-- {'Arrendatario actual'Cruza', argumento[{'arrendatarioscruza']} or argumento['Arrendatarios']},
-- { 'Número de vanos', argumento{'ojos'} },
{'Nombrado en honor a', argumento['nombrado en honor a'] or argumento['Nombrado en honor a'] or propiedad('P138')},
-- { 'Clausura', argumento{'clausura', {propiedad, 'P3999'}} },
{'[[Primera piedra]]', primerapiedra},
-- { 'AntenaNúmero de camas', argumento[{'antenacamas'], or{propiedad, argumento['AntenaP6801']}} },
-- { 'PisoNúmero másde altotélefono', argumento[{'piso mas altoteléfono'], or argumento['Piso mas altotelefono'] or, {propiedad(, 'P1101P1329')}} },
-- { 'Emergencias', argumento{'emergencias'} },
-- { 'Afiliación', argumento{'afiliación', {propiedad, 'P1416'}} },
-- { 'Red', argumento{'red'} },
-- { 'Clasificación', argumento{'clasificación'} },
-- { 'Especialidad', argumento{'especialidad'} },
-- { 'Financiamiento', argumento{'financiamiento'} },
},
{tipo = "'sección"',
['titulo'] = "'Altura"',
{'Altura arquitectónica'Máxima', argumento[{'altura arquitectonicamáxima'], or argumento['Altura arquitectonicaantena'] or argumento['altura'] or argumento['Altura']} or obtenerAlturas().alturamaxima },
{'Altura máxima'Arquitectónica', argumento[{'altura maximaarquitectónica'], or argumento['Altura maximaaltura']} or obtenerAlturas().maximaaltura },
{ 'ObservatorioAzotea', argumento[{'observatorioazotea']} or argumento['Observatorio']},
{ 'Piso más alto', argumento{'piso más alto', 'piso_mas_alto'} },
{ 'Observatorio', argumento{'observatorio'} },
},
{tipo =" 'sección"',
['título'] ="Record 'Récord de altura"',
{ '', argumento[{'más alto fecha', 'alto_fecha'} and '[[Anexo:Rascacielos más altos del mundo|Rascacielos más alto del mundo]] orde ' .. argumento[{'más alto fecha', 'alto_fecha']} },
{ 'Predecesor', argumento[{'más alto anterior'] or, argumento['alto_anterior']} },
{ 'Sucesor', argumento[{'más alto siguiente'] or, argumento['alto_siguiente']} },
-- TODO: NUEVO: { argumento{'récord de altura', 'record de altura'} }, -- sin uso ?
},
{tipo = "'sección"',
['titulo'] = "'Detalles técnicos"',
{ 'MaterialSistema estructural', argumento[{'material']sistema or argumento[estructural'Material'] or} obtenerMaterial()},
{ 'SuperficieMaterial', argumento[{'superficiematerial'], or argumento['Superficiemateriales'], or{obtenerMaterial}} obtenerSuperficie()},
{ 'Diámetro', argumento{'diámetro'} },
{'Número de plantas', argumento['numero de plantas'] or argumento['Numero de plantas'] or propiedad('P1101')},
{ 'Superficie', argumento{'superficie', 'área planta', {obtenerSuperficie}} },
{'Número de ascensores', argumento['numero de ascensores'] or argumento['Numero de ascensores'] or propiedad('P1301')},
{ 'Superficie parcela', argumento{'superficie parcela'} },
{ 'Plantas', argumento{'número de plantas', 'numero_plantas', 'cantidad pisos', 'plantas', {propiedad, 'P1101'}} },
{ 'Ascensores', argumento{'número de ascensores', 'numero ascensores', {propiedad, 'P1301'}} },
{ 'Otras dimensiones', argumento{'otras dimensiones'} },
},
{tipo = "'sección"',
['titulo'] = 'Diseño y construcción',
{ 'Arquitecto', argumento[{'arquitecto'] or, argumento['Arquitectoarquitectos'] or, {propiedad(, 'P84')}} },
{ 'IngenieroFundador', argumento[{'ingeniero estructuralfundador'], or{propiedad, argumento['Ingeniero deP112', servicios{uno=']sí'}}} },
{'Ingeniero de servicios'Promotor', argumento[{'ingeniero de serviciospromotor'], or argumento['Ingenieropromotora'} de servicios']},
{'Ingeniero civil'Constructor', argumento[{'ingeniero civilconstructor'], or{propiedad, argumento['IngenieroP193', civil{uno=']sí'}}} },
{ 'OtrosIngeniero', argumento[{'otrosingeniero']} or argumento['Otros']},
{ 'Ingeniero estructural', argumento[{'ingeniero estructural'], or{propiedad, argumento['Ingeniero estructuralP631']}} or propiedad('P631')},
{ 'AutorIngeniero de servicios', argumento[{'autor']ingeniero orde argumento[servicios'Autor']} },
{ 'ContratistaIngeniero civil', argumento[{'contratistaingeniero civil']} or argumento['Contratista']},
{ 'ConstructorOtros', argumento[{'constructorotros']} or argumento['Constructor']},
{ 'ViviendasContratista', argumento[{'viviendascontratista']} or argumento['Viviendas']},
{'Conocido por'Viviendas', argumento[{'conocidonúmero por']de or argumento[viviendas'Conocido} por']},
{ 'Coste', argumento{'coste'} },
{ 'Premios', argumento{'premios', {propiedad, 'P166'}} },
{ 'Conocido por', argumento{'conocido por'} },
},
{tipo = "'sección"',
['titulo'] = "'Remodelación"',
{ 'IngenieroFecha de civilremodelación', argumento[{'remfecha ingenieroremodelación', civil']remodelación', or argumento['Remfecha ingenierode civilremodelación']} },
{ 'OtrosCoste remodelación', argumento[{'remcoste otrosremodelación']} or argumento['Rem otros']},
{'Ingeniero estructural'Arquitecto', argumento[{'rem ingeniero estructuralarquitecto']} or argumento['Rem ingeniero estructural']},
{ 'ContratistaIngeniero ', argumento[{'contratistarem ingeniero']} or argumento['Contratista']},
{ 'PremiosIngeniero estructural', argumento[{'rem premios']ingeniero or argumento[estructural'rem} premios']},
{ 'Ingeniero de servicios', argumento{'rem ingeniero de servicios'} },
{ 'Ingeniero civil', argumento{'rem ingeniero civil'} },
{ 'Otros', argumento{'rem otros'} },
{ 'Contratista', argumento{'rem contratista'} },
{ 'Premios', argumento{'rem premios'} },
},
{tipo = "'sección"',
["'titulo"'] = "Otra'Información información"religiosa',
--Bar o restaurante
{"N.º de asientos", argumento["número de asientos"] or argumento["Número de asientos"] or argumento['asientos'] or propiedad("P1083")},
{"N.º de tiendas", argumento['nro de tiendas'] or argumento['Nro de tiendas'] },
--Hotel
{"N.º de habitaciones", argumento["nro de habitaciones"] or argumento["Nro de habitaciones"]},
{"N.º de suites", argumento["nro de suites"] or argumento["Nro de suites"]},
{"N.º de restaurantes", argumento["nro de restaurantes"] or argumento["Nro de restaurantes"]},
{"N.º de bares", argumento["nro de bares"] or argumento["Nro de bares"]},
{"Estrellas", argumento["estrellas"] or argumento["Estrellas"]},
--Edificios religiosos
{" 'Culto"', argumento["{'culto"] or argumento["Culto"] or', {propiedad(", 'P140")'}} },
{"Diócesis", argumento["diocesis"]{'nombre_división_eclesiástica'} or 'Diócesis', argumento["Diocesis"]{'diócesis', or'división_eclesiástica', {propiedad(", 'P708")'}} },
{ argumento{'nombre_subdivisión_eclesiástica'} or '[[Parroquia (religión)|Parroquia]]', argumento{'subdivisión_eclesiástica', 'parroquia'} },
{"Advocación", argumento["advocacion"] or argumento["Advocacion"] or propiedad("P825")},
{ '[[Orden religiosa católica|Orden]]', argumento{'orden', {propiedad, 'P611'}} },
{ 'Advocación', argumento{'advocación', {propiedad, 'P825'}} },
{ 'Patrono', argumento{'patrono', {propiedad, 'P417'}} },
{ 'Dedicación', argumento{'dedicación', {propiedad, 'P793', {calificador='Q1762010'}}} },
{ 'Acceso público', argumento{'acceso'} },
},
{tipo = 'sección',
['titulo'] = 'Información militar',
--Edificios militares
{" 'Controlador"', argumento["{'controlado por"] or argumento["Controlado por"]'} },
{" 'Guarnición"', argumento["{'guarnición"]'} or argumento["Guarnición"]},
{" 'Comandante actual"', argumento["{'comandante actual"]'} or argumento["Comandante actual"]},
{ 'Comandantes', argumento{'comandantes'} },
{"Ocupantes", argumento["ocupantes"] or argumento["Ocupantes"] or propiedad("P466")},
{" 'Batallas"', argumento["{'batallas"]'} or argumento["Batallas"]},
{" 'Eventos"', argumento["{'eventos"]'} or argumento["Eventos"]},
{" 'Período"', argumento["periodo"]{'período'} or argumento["Periodo"]},
},
{tipo = "'sección"',
['titulo'] = "Sitio'Otra web"información',
{'Sitio web'Capacidad', argumento[{'sitio webcapacidad'], or argumento['Sitio webaforo'] or, {propiedad(, 'P856P1083')}} },
--Bar o restaurante
{ 'N.º de asientos', argumento{'número de asientos', 'asientos', {propiedad, 'P1083'}} },
{ 'N.º de tiendas', argumento{'número de tiendas'} },
--Hotel
{ 'N.º de habitaciones', argumento{'número de habitaciones', 'habitaciones'} },
{ 'N.º de suites', argumento{'número de suites', 'suites'} },
{ 'N.º de restaurantes', argumento{'número de restaurantes'} },
{ 'N.º de bares', argumento{'número de bares'} },
{ 'Estrellas', argumento{'estrellas'} },
{ 'Temática', argumento{'tema'} },
{ 'Director', argumento{'director'} },
{ 'Cadena', argumento{'cadena'} },
},
{tipo = "'sección"',
['titulo'] = "Referencias"'Sitio web',
{argumento["premios"] or'Sitio web', argumento["Premios"]{'sitio orweb', 'página web', 'url', {propiedad("P166"), 'P856'}} },
},
{argumento['referencias'] or argumento['Referencias']},
{tipo = 'sección',
}
['titulo'] = 'Referencias',
{'', argumento{'referencias'} },
},
{'', argumento{'ficha hija'} },
}
return ModuloFicha.infobox(Ficha)
end
 
-- helpers:
function obtenerImagenWikidata()
local imagen, valorImagen, piesDeImagen, k, pieDeImagen
if not Entidad then
return
end
local imagen = elementoTabla(Entidad, 'claims','P18',1)
 
if not imagen then
return
end
 
-- Obtener el nombre de la imagen
valorImagen = elementoTabla(imagen, 'mainsnak','datavalue','value') -- Por ejemplo, imagen.jpg
 
-- Obtener los pies de la imagen, uno por idioma
piesDeImagen = elementoTabla(imagen, 'qualifiers','P2096')
 
-- Encontrar el pie en español (aquel con datavalue.value.language = "es")
if piesDeImagen then
for k,pieDeImagen in pairs(piesDeImagen) do
if pieDeImagen.datavalue.value.language=='es' then
-- devolver la imagen y el texto del pie de la imagen en español
return valorImagen, pieDeImagen.datavalue.value.text
end
end
end
 
-- Si no hay pie de imagen en español comprueba si hay fecha especificada para la imagen
piesDeImagen = elementoTabla(imagen, 'qualifiers', 'P585')
 
if piesDeImagen and piesDeImagen[1] then
return valorImagen, nombre .. ' en ' .. require('Módulo:Wikidata/Fecha').FormateaFechaHora(piesDeImagen[1].datavalue.value, {['formatoFecha']='año',['enlace']='no'})
end
 
-- Sin pie de imagen en español
return valorImagen
end
 
--function obtenerArgumentosConValor(frame)
-- local valor = ''
--argumento = obtenerArgumentosConValor(frame)
-- for i, j in pairs(frame.args)
-- do
-- valor = valor ..i..' '..j..' '
-- argumento[i] = j
--end
--return
--end
function obtenerArgumentosConValor(frame)
local valor = ''
local aux = frame
while(aux ~= nil)
do
if aux.args ~= nil then
for i, j in pairs(aux.args)
do
valor = valor ..i..' '..j..' '
argumento[i] = j
end
end
aux = aux:getParent()
end
return
end
 
function obtenerEtiquetaWikidata()
if Entidad and Entidad.labels and Entidad.labels.es then
return Entidad.labels.es.value
end
end
 
function propiedad(idPropiedad,opciones)
-- global Entidad
if Entidad and Entidad.claims and Entidad.claims[idPropiedad] then
return ModuloWikidata.propiedad( Entidad, idPropiedad, opciones or {} )
if not opciones then
opciones = {}
end
opciones['propiedad'] = idPropiedad
 
valorPropiedad = ModuloWikidata.getPropiedad(opciones,Entidad.claims[idPropiedad])
 
if valorPropiedad and valorPropiedad:match('%[%[:d:') then
algunaPropiedadEnlazaWikidata = true
end
 
return valorPropiedad
end
end
 
Línea 379 ⟶ 332:
-- TODO: revisar colores y contraste
local colores = {
['hotel'] = '#A7D3F3', -- mejor que {{Ficha de hotel}}
['edificio militar'] = '#665D1D', -- revisar, marrón demasiado oscuro, no se diferencia el texto
['cuartel'] = '#665D1D', -- ídem anterior
Línea 385 ⟶ 338:
['restaurante'] = '#BFFF00', -- ídem anterior
['iglesia'] = '#F3D5E1', -- según {{Ficha de edificio religioso}}
['hospital'] = '#E4717AEEE', -- revisar,según rojo{{Ficha demasiadode fuertehospital}}
['monumento conmemorativo'] = '#D5D4FC', -- según {{Ficha de monumento}}
}
local tipoedificio = elementoTabla(Entidad,'claims','P31',1,'mainsnak','datavalue')
tipoedificio = elementoTabla(tipoedificio,'value','id')
local nombretipoedificio= mw.wikibase.getEntityObject(tipoedificio)
nombretipoedificio = elementoTabla(nombretipoedificio,'labels','es','value')
local uso = argumento[{'tipo'], or argumento ['Tipo'] or argumento['uso'], or argumento['Uso'] or argumento ['usos'], or{propiedad, argumento['Usos'] or propiedad('P366')}}
if uso == "militar" or uso == "Militar" then
return colores['edificio militar']