Ir al contenido

Módulo:Ficha de centro educativo

De Wikipedia, la enciclopedia libre

Uso


local z = {}

local argumentos    -- Tabla de argumentos con los que se llama a la función 
local argumento={}  -- Argumentos eliminando los argumentos sin datos
local Entidad       -- Tabla con los datos en Wikidata del libro.
--                         Ver Wikidata:WikiProject Books para las propicedades posibles
local algunaPropiedadEnlazaWikidata -- Para alguna propiedad no existe la etiqueta ni el enlace mostrándose algo de la forma d:...

-- Módulos utilizados
local ModuloArgumentos       = require('Módulo:Argumentos')
local ModuloFicha            = require('Módulo:Ficha')
local ModuloFormato          = require('Módulo:Formato texto')
--local ModuloIdentificadores  = require('Módulo:Identificadores')
local ModuloPaginas          = require('Módulo:Páginas')	
--local ModuloWikidataFormatos = require('Módulo:Wikidata/Formatos')	
local ModuloWikidata         = require('Módulo:Wikidata')
local ModuloTablas           = require('Módulo:Tablas')
--local ModuloURL              = require('Módulo:URL')

-- Constantes
--local enMayusculas    = {['formatoTexto'] = 'mayúscula'}
--local enMayusculasO   = {['formatoTexto'] = 'mayúscula', ['conjunción']=' o '}
--local listaNoOrdenada = {['lista'] = 'no ordenada'} --, ['debeExistir'] = 'sí'
--local lugar           = {['conjunción']=' o ', ['valor-función'] = ModuloWikidataFormatos.formatoLugar}
--local debeExistir     = {['debeExistir'] = 'sí'}
--local conPeriodo      = {['lista'] = 'no ordenada', ['formatoTexto'] = 'mayúscula', ['calificativo'] = ModuloWikidataFormatos.formatoPeriodo}
	
function z.Ficha(frame)
--  Hacer que funcione la función formatBandera	 y formatoGentilicio
    ModuloWikidata:setFrame(frame)  -- No funciona si se pone ModuloWikidata.setFrame(marco)    
    
    --Obtener una copia de los argumentos eliminando los argumentos sin valor
    local argumento = ModuloArgumentos.obtenerArgumentosConValor(frame)
    
    -- Obtener datos complejos
    
    -- Obtener los datos de la página donde se inserta la ficha de Wikidata.
    Entidad = mw.wikibase.getEntityObject() or {}
    
    --if true then
    --	return ModuloTablas.tostring(Entidad)
    --end
    
    nombre = argumento['nombre'] or
             obtenerEtiquetaWikidata() or 
             ModuloPaginas.nombrePagina({desambiguar='sí'})
    
    -- Para los lemas ver la propiedad P1451, Wharton Business School
    local lema    = ModuloFormato.enCursivas   (argumento['lema']   , argumento['lemaref'])
    local lemaesp = ModuloFormato.entreComillas(argumento['lemaesp'], argumento['lemaespref'])
    
    local tipocabecera = 'libro'
    local estilotitulo = 'background-color:#ffe8b8'
    local tipoCentro = propiedad('P31') or ''
    if tipoCentro:find('universidad') then
    	tipocabecera = 'universidad'
    	estilotitulo = 'background-color:#cddefe'
    end
    
    local estudiantes = argumento['estudiantes']
    local listaEstudiantes = ''
    if estudiantes then
    	listaEstudiantes = ' • '
    end
    
    local Ficha = {
        --clase           = 'biography vcard',

        -- Título
        tipocabecera    = tipocabecera,
        titulo          = nombre,
        estilotitulo    = estilotitulo,
        subtitulo       = argumento['traducción nombre'],
        estilosubtitulo = 'font-style:italic; font-size: 80%;' .. estilotitulo,
        
        estiloseccion   = estilotitulo,
        
        estilopie       = 'font-size: x-small',
        --Imagen
        imagen          = argumento['escudo'] or (
        					(not argumento['escudo'] and not argumento['logo'] and not argumento['imagen']) 
        						and (propiedad('P94', {['uno'] = 'sí'}) or propiedad('P154', {['uno'] = 'sí'}))),
        ['tamañoimagen']= argumento['tamaño escudo'] or '90px',
        pie             = argumento['pie escudo'],
        imagen2         = argumento['imagen']  or 
                          propiedad('P18', {uno='sí'}),                          
        ['tamañoimagen2']= '270px',                          	
        pie2             = argumento['pie de imagen'] or argumento['pie_de_imagen'],
        imageninferior           = argumento['logo'],
        ['tamañoimageninferior'] = argumento['tamaño logo'],
        pieinferior              = argumento['pie logo'],
        
        piedetabla = argumento['notas'] and ('<hr/><span style="font-size:90%">' .. argumento['notas'] .. '</span>'),
        
        {tipo='sección',
        	{'[[Sigla]]'   , argumento['sigla']},
            {'[[Acrónimo]]', argumento['acrónimo']},
            {'[[Sobrenombre]]' , argumento['sobrenombre']},
            {'[[Lema]]'    , ModuloFormato.enVariasLineas({lema, lemaesp})},
            {'Tipo'        , argumento['tipo']},
            --{'Universidad' , argumento['universidad']},
            {'Forma parte de' , argumento['universidad'] or propiedad('P361')},
            {'Fundación'   , argumento['fundación'] or propiedad('P571', {['enlace'] = 'no'})},
            {'Fundador' , argumento['fundador'] or propiedad('P112')},
        },
        
        {tipo='sección',
        	['titulo'] = 'Localización',
        	{'País', argumento['pais']},
        	{'Division', argumento['division_administrativa']},
        	{'Subdivisión', argumento['subdivision_administrativa']},
        	{'Municipio', argumento['municipio']},
            {'Dirección', argumento['localización'] or 
            				 ModuloFormato.enVariasLineas({argumento['dirección'],
            				 							   ModuloFormato.separadosPorComa({argumento['ciudad'], argumento['estado'], argumento['país']})}) or
            	             ModuloFormato.enVariasLineas({propiedad('P969'), --Dirección postal
            	             	                           ModuloFormato.separadosPorComa({propiedad('P131'),propiedad('P17')})})}, --
            {'[[Campus]]'  , argumento['campus']},
            {'Coordenadas' , argumento['coor'] or argumento['coordenadas'] or propiedad('P625', {formato='dms', display='inline,title', tipo='edu', uno='sí'})},
            {'Otras sedes' , argumento['sedes']},
            {'Transporte público', argumento['transporte']},
        },
        
        {tipo='sección',
        	['titulo'] = ModuloFormato.entreParentesis('Administración', argumento['admin_año']),
        	{'[[Rector]]', argumento['rector']},
        	{'[[Rector|Rectora]]', argumento['rectora']},
        	{'Vicerrector', argumento['vicerrector']},
        	{'Vicerrectora', argumento['vicerrectora']},
        	{'Canciller'    , argumento['canciller']},
        	{'Vicecanciller', argumento['vice canciller']},
        	{'Presidente'  , argumento['presidente']},
        	{'Presidenta'  , argumento['presidenta']},
        	{'Director'     , argumento['director']},
        	{'Directora'     , argumento['directora']},
        	{'Decano'     , argumento['decano']},
        	{'Decana'     , argumento['decana']},
        	{'Vicedecana' , argumento['vicedecana']},
        	{'Vicedecano' , argumento['vicedecano']},
        	{argumento['administrador'], argumento['nombre administrador']},
        	{'Afiliaciones', argumento['afiliaciones']},
        	{'[[Dotación financiera|Dotación de capital]]', argumento['dotación de capital']},
        	{'[[Presupuesto]]', argumento['presupuesto']},
        	{'Funcionarios', argumento['funcionarios']},
        	{'Administrativos', argumento['administrativos']},
        	{'Gobierno Estudiantil', argumento['gobiernoestudiantil']},
        	{'Presidente Estudiantil', argumento['presidenteestudiantil']},
        	{'Jefe de Estudios'     , argumento['jefedeestudios']},
        	{'Jefa de Estudios'     , argumento['jefadeestudios']},
        	{'Secretaría'     , argumento['secretaria']},
        	{'[[Asociación de Madres y Padres de Alumnos]]'     , argumento['ampa']},
        	{'Centros asociados', argumento['centrosasociados']},
        },
        
        {tipo='sección',
        	['titulo'] = ModuloFormato.entreParentesis('Academia', argumento['academia_año']),
        	{'[[Profesor]]es'  , argumento['profesores']},
        	{'Empleados'       , argumento['empleados']},
        	{'Docentes'        , argumento['docentes']},
        	{'[[Estudiante]]s', estudiantes},
        	{listaEstudiantes .. '[[Bachillerato]]', argumento['bachillerato']},
        	{listaEstudiantes .. '[[Pregrado]]'    , argumento['pregrado']},
        	{listaEstudiantes .. '[[Posgrado]]'    , argumento['posgrado'] or argumento['postgrado']},
        	{listaEstudiantes .. '[[Doctorado]]'   , argumento['doctorado']},
        	{listaEstudiantes .. 'Colegiales'      , argumento['colegiales']},
        	{listaEstudiantes .. 'Titulados'       , argumento['titulados']},
        	{listaEstudiantes .. 'Otros'           , argumento['otros_estudiantes']},
        	{'[[Mascota (símbolo)|Mascota]]', argumento['mascota']},
        	{'Colores', argumento['colores']},
        	{'Colores académicos', argumento['colores académicos']},
        	{'Colores deportivos', argumento['colores deportivos']},
        },
        
        {tipo='sección', 
        	['titulo'] = 'Sitio web',
        	{'', argumento['sitio web'] or propiedad('P856')},
        },
    }
    categorias = ''
    
    if algunaPropiedadEnlazaWikidata then
    	categorias = '[[Categoría:Wikipedia:Páginas con propiedades de Wikidata sin etiqueta]]'
    end
    
    if  ( mw.title.getCurrentTitle().namespace == 0 ) then
    	if (argumento['coor'] or argumento['coordenadas']) and propiedad('P625', {formato='dms', display='inline', tipo='edu', uno='sí'}) then
    		categorias = categorias .. '[[Categoría:Wikipedia:Artículos con coordenadas locales]]'
    	elseif argumento['coor'] or argumento['coordenadas'] then
    		categorias = categorias .. '[[Categoría:Wikipedia:Artículos con coordenadas por trasladar a Wikidata]]'
    	end
    end
    
    --if educacion and almamater then
    -- 	categorias = categorias .. '[[Categoría:Wikipedia:Páginas que tienen informado el campo educación]]'
    --end
    
    return ModuloFicha.infobox(Ficha) .. categorias
end

-- Función que devuelve la lista de los valores de una propiedad en Wikidata formateados
function propiedad(idPropiedad,opciones)
    if Entidad and Entidad.claims and Entidad.claims[idPropiedad] then
    	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

function obtenerEtiquetaWikidata()
	if Entidad and Entidad.labels and Entidad.labels.es then
        return Entidad.labels.es.value
    end
end

return z
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy