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

m 1 revisión importada
m 1 revisión importada
 
(No se muestran 5 ediciones intermedias de 4 usuarios)
Línea 2: Línea 2:


local argumentos    -- Tabla de argumentos con los que se llama a la función  
local argumentos    -- Tabla de argumentos con los que se llama a la función  
local argumento={}  -- Argumentos eliminando losma argumentos sin datos
local argumento={}  -- Argumentos, sin contar los que no tienen datos
local Entidad      -- Tabla con los datos en Wikidata de la persona.
local Entidad      -- Tabla con los datos en Wikidata de la persona.
local algunaPropiedadEnlazaWikidata -- Para alguna propiedad no existe la etiqueta ni el enlace mostrándose algo de la forma d:...
local algunaPropiedadEnlazaWikidata -- Para alguna propiedad no existe la etiqueta ni el enlace mostrándose algo de la forma d:...
Línea 20: Línea 20:
local  formatoURL          = ModuloWikidataFormatos.formatoURL
local  formatoURL          = ModuloWikidataFormatos.formatoURL
local  formatoPeriodo      = ModuloWikidataFormatos.formatoPeriodo
local  formatoPeriodo      = ModuloWikidataFormatos.formatoPeriodo
local  formatoId            = ModuloWikidataFormatos.formatoId
local ModuloWikidata        = require('Módulo:Wikidata')
local ModuloWikidata        = require('Módulo:Wikidata')
local  lapizWikidata        = ModuloWikidata.addLinkback
local  lapizWikidata        = ModuloWikidata.addLinkback
Línea 30: Línea 31:
-- Constantes
-- Constantes
local enMayusculas    = {['formatoTexto'] = 'mayúscula', ['linkback']='sí'}
local enMayusculas    = {['formatoTexto'] = 'mayúscula', ['linkback']='sí'}
local enMayusculasO  = {['formatoTexto'] = 'mayúscula', ['conjunción']=' o ', ['linkback']='sí', ['rangoMayor'] = 'sí'}
local enMayusculasO  = {['formatoTexto'] = 'mayúscula', ['conjunción']=' o ', ['linkback']='sí'}
local enMayusculasSinEnlazar = {['formatoTexto'] = 'mayúscula', ['linkback']='sí', ['enlace']='no'}
local enMayusculasOSinEnlazar = {['formatoTexto'] = 'mayúscula', ['conjunción']=' o ', ['linkback']='sí', ['enlace']='no'}
local listaNoOrdenada = {['lista'] = 'no ordenada', ['linkback']='sí'} --, ['debeExistir'] = 'sí'
local listaNoOrdenada = {['lista'] = 'no ordenada', ['linkback']='sí'} --, ['debeExistir'] = 'sí'
--local lugar          = {['conjunción']=' o ', ['valor-módulo'] = 'Wikidata/Formato lugar', ['valor-función'] = 'formatoLugar', ['linkback']='sí'}
--local lugar          = {['conjunción']=' o ', ['valor-módulo'] = 'Wikidata/Formato lugar', ['valor-función'] = 'formatoLugar', ['linkback']='sí'}
Línea 43: Línea 46:


local formatos={
local formatos={
     ['por defecto'] = {['estiloTituloFicha'] = 'background-color:#8DB1C3;color:#FFF'},     
     ['por defecto'] = {['estiloTituloFicha'] = 'background-color:#8DB1C3;color:#000'},
    ['inherit']    = {['estiloTituloFicha'] = 'background-color:#E6E6FA;color:#000'},     
     --['actor']      = {['estiloTituloFicha'] = ''},
     --['actor']      = {['estiloTituloFicha'] = ''},
     ['ajedrecista'] = {['estiloTituloFicha'] = 'background-color:#d38d47;color:#FFF'},
     ['ajedrecista'] = {['estiloTituloFicha'] = 'background-color:#d38d47;color:#FFF'},
     ['artista']    = {['estiloTituloFicha'] = 'background-color:#8DB1C3;color:#FFF'},
     ['artista']    = {['estiloTituloFicha'] = 'background-color:#8DB1C3;color:#000'},
     ['astronauta']  = {['estiloTituloFicha'] = 'background-color:transparent;'},
     ['astronauta']  = {['estiloTituloFicha'] = 'background-color:transparent;'},
     ['autoridad']  = {['estiloTituloFicha'] = 'background-color:transparent;', ['estiloTituloSecciones'] ='background-color:#E6E6FA;'},
     ['autoridad']  = {['estiloTituloFicha'] = 'background-color:transparent;', ['estiloTituloSecciones'] ='background-color:#E6E6FA;'},
Línea 52: Línea 56:
     ['diseñador']  = {['estiloTituloFicha'] = 'background-color:#ED8;color:#000'},
     ['diseñador']  = {['estiloTituloFicha'] = 'background-color:#ED8;color:#000'},
     ['escritor']    = {['estiloTituloFicha'] = 'background-color:#4c6099;color:#FFF'},
     ['escritor']    = {['estiloTituloFicha'] = 'background-color:#4c6099;color:#FFF'},
    ['futbolista']  = {['estiloTituloFicha'] = 'background-color:#CC8;color:#000'},
     ['militar']    = {['estiloTituloFicha'] = 'background-color:#b0c4de;color:#000'},
     ['militar']    = {['estiloTituloFicha'] = 'background-color:#b0c4de;color:#000'},
     ['modelo']      = {['estiloTituloFicha'] = 'background-color:#9F9;color:#000'},
     ['modelo']      = {['estiloTituloFicha'] = 'background-color:#9F9;color:#000'},
Línea 74: Línea 79:
  return x.time
  return x.time
end
end


function z.Ficha(frame)
function z.Ficha(frame)
Línea 99: Línea 105:
             or propiedad('P69', { ['formatoTexto'] = 'mayúscula', ['lista'] = 'no ordenada', ['valor-función']='educado en', ['valor-módulo'] = 'Wikidata/Formatos educación', ['ordenar'] = 'por fecha', ['linkback']='sí'})
             or propiedad('P69', { ['formatoTexto'] = 'mayúscula', ['lista'] = 'no ordenada', ['valor-función']='educado en', ['valor-módulo'] = 'Wikidata/Formatos educación', ['ordenar'] = 'por fecha', ['linkback']='sí'})


    if propiedad('P21', sinLapiz) == 'femenino' or propiedad('P21', sinLapiz) == 'mujer transgénero' then
local gender = propiedad('P21', {['enlace']='no', ['linkback']='no'})
    if gender and ( mw.ustring.match(gender, 'femenino') or mw.ustring.match(gender, 'mujer') ) then
         etiquetaAnyosActivo = 'Años activa'
         etiquetaAnyosActivo = 'Años activa'
         etiquetaConocidoPor = 'Conocida por'
         etiquetaConocidoPor = 'Conocida por'
Línea 157: Línea 164:
     local ocupacionOArea = ocupacion or area
     local ocupacionOArea = ocupacion or area


     nombre = argumento['nombre'] or argumento['Nombre'] or
     nombre = argumento['nombre'] or argumento['Nombre'] or ModuloPaginas.nombrePagina({desambiguar='sí'})
        obtenerEtiquetaWikidata() or
        ModuloPaginas.nombrePagina({desambiguar='sí'})
 
     local nombre_completo  = argumento['nombre completo']
     local nombre_completo  = argumento['nombre completo']
     local nombre_nacimiento = argumento['nombre de nacimiento'] or propiedad('P1477')
     local nombre_nacimiento = argumento['nombre de nacimiento'] or propiedad('P1477')
Línea 214: Línea 218:


     fallecimiento = enVariasLineas({
     fallecimiento = enVariasLineas({
         argumento['fecha de fallecimiento'] or (obtenerDatosWikidata and entreParentesis(propiedad('P570', enMayusculasO), obtenerEdadWikidata('P570'))),  
         argumento['fecha de fallecimiento'] or (obtenerDatosWikidata and entreParentesis(propiedad('P570', enMayusculasOSinEnlazar), obtenerEdadWikidata('P570'))),  
         lugarFallecimiento
         lugarFallecimiento
     })
     })
Línea 220: Línea 224:
     if fallecimiento then
     if fallecimiento then
         desaparicion = enVariasLineas({
         desaparicion = enVariasLineas({
             argumento['fecha de desaparición'] or propiedad('P746', enMayusculasO),  
             argumento['fecha de desaparición'] or propiedad('P746', enMayusculasOSinEnlazar),  
             lugarDesaparicion
             lugarDesaparicion
         })
         })
     else
     else
         desaparicion = enVariasLineas({
         desaparicion = enVariasLineas({
             argumento['fecha de desaparición'] or (obtenerDatosWikidata and entreParentesis(propiedad('P746', enMayusculasO), obtenerEdadWikidata('P746'))),  
             argumento['fecha de desaparición'] or (obtenerDatosWikidata and entreParentesis(propiedad('P746', enMayusculasOSinEnlazar), obtenerEdadWikidata('P746'))),  
             argumento['lugar de desaparición']
             argumento['lugar de desaparición']
         })
         })
Línea 232: Línea 236:
     if fallecimiento or desaparicion then
     if fallecimiento or desaparicion then
         nacimiento = enVariasLineas({
         nacimiento = enVariasLineas({
             argumento['fecha de nacimiento'] or propiedad('P569', enMayusculasO),  
             argumento['fecha de nacimiento'] or propiedad('P569', enMayusculasOSinEnlazar),  
             lugarNacimiento
             lugarNacimiento
         })
         })
     else
     else
         nacimiento = enVariasLineas({
         nacimiento = enVariasLineas({
             argumento['fecha de nacimiento'] or (obtenerDatosWikidata and entreParentesis(propiedad('P569', enMayusculasO), obtenerEdadWikidata())),  
             argumento['fecha de nacimiento'] or (obtenerDatosWikidata and entreParentesis(propiedad('P569', enMayusculasOSinEnlazar), obtenerEdadWikidata())),  
             lugarNacimiento
             lugarNacimiento
         })
         })
Línea 255: Línea 259:
     end
     end


     firma = argumento['firma'] or argumento['Firma'] or propiedad('P109', {['enlace'] = 'no', ['linkback'] = false, ['rangoMayor'] = 'sí', ['uno'] = 'sí'}) or ''
     firma = argumento['firma'] or argumento['Firma'] or propiedad('P109', {['enlace'] = 'no', ['linkback'] = false, ['uno'] = 'sí'}) or ''
     if firma and firma ~= '' then
     if firma and firma ~= '' then
     firma = '[[Archivo:' .. firma .. '|175x80px]]'
     firma = '[[Archivo:' .. firma .. '|175x80px|class=skin-invert]]'
     end
     end


Línea 337: Línea 341:
     else
     else
         Cardenalato = argumento['cardenalato']
         Cardenalato = argumento['cardenalato']
    end
    local EscudoTitulo, Escudo
    if argumento['escudo'] ~= '' and (cabecera == 'religioso' and argumento['escudo'] or propiedad('P94')) then -- ¿deberíamos usar P237 en su lugar?
        Escudo = argumento['escudo'] or propiedad('P94', {})
        EscudoTitulo = 'Escudo'
    else
        EscudoTitulo = ''
    end
    local LemaEscudo = argumento['lema'] or propiedad('P1451')
    if LemaEscudo and argumento['lema traducido'] then
        LemaEscudo = LemaEscudo .. '<small style="display: block;"> por ' ..argumento['lema traducido'].. '</small>'
     end
     end


Línea 376: Línea 368:
sitioWeb = noAlargar(enlazarURL(argumento['web'] or argumento['página web'] or argumento['website'] or argumento['sitio web'] or argumento['sitioweb']))
sitioWeb = noAlargar(enlazarURL(argumento['web'] or argumento['página web'] or argumento['website'] or argumento['sitio web'] or argumento['sitioweb']))
else
else
sitioWeb = propiedad('P856', {['valor-función'] = formatoURL, ['linkback']='sí', ['rangoMayor'] = 'sí'})
sitioWeb = propiedad('P856', {['valor-función'] = formatoURL, ['linkback']='sí'})
end
end
Línea 442: Línea 434:
                                   propiedad('P509', enMayusculas) or  
                                   propiedad('P509', enMayusculas) or  
                                   propiedad('P1196', enMayusculas), 'Causas naturales')}, -- circunstancias de la muerte
                                   propiedad('P1196', enMayusculas), 'Causas naturales')}, -- circunstancias de la muerte
             {'Sepultura',  argumento['lugar de descanso'] or propiedad('P119', {['valor-módulo'] = 'Wikidata/Formato lugar', ['linkback'] = 'sí'}) },
             {'Sepultura',  argumento['lugar de descanso'] or propiedad('P119', {['valor-módulo'] = 'Wikidata/Formato lugar', ['formatoTexto'] = 'mayúscula', ['linkback'] = 'sí'}) },


             {'Residencia',    sinBandera(argumento['residencia'] or  
             {'Residencia',    sinBandera(argumento['residencia'] or  
                               argumento['país_de_residencia'] or argumento['pais_de_residencia'] or
                               argumento['país_de_residencia'] or argumento['pais_de_residencia'] or
                               argumento['lugar_de_residencia']) or
                               argumento['lugar_de_residencia']) or
                               propiedad('P551', {['debeExistir'] = 'sí', ['linkback']='sí', ['rangoMayor'] = ''}),
                               propiedad('P551', {['debeExistir'] = 'sí', ['linkback']='sí', ['formatoTexto'] = 'mayúscula'}),
                               clase='etiqueta'},
                               clase='etiqueta'},
             {'Nacionalidad',  sinBandera(argumento['nacionalidad'] or argumento['Nacionalidad'] or argumento['ciudadanías']) or --Pendiente hacer que salga el gentilicio
             {'Nacionalidad',  sinBandera(argumento['nacionalidad'] or argumento['Nacionalidad'] or argumento['ciudadanías']) or --Pendiente hacer que salga el gentilicio
Línea 472: Línea 464:
             {'Ojos', argumento['color de ojos'] or propiedad('P1340', enMayusculas)},
             {'Ojos', argumento['color de ojos'] or propiedad('P1340', enMayusculas)},
             {'Cabello', argumento['color de cabello'] or propiedad('P1884', enMayusculas)},
             {'Cabello', argumento['color de cabello'] or propiedad('P1884', enMayusculas)},
             {'[[Aumento de mamoplastia|Pecho natural]]', argumento['busto natural']},
             {'[[Mamoplastia de aumento|Pecho natural]]', argumento['busto natural']},
             --{'[[Orientación sexual]]', propiedad('P91', enMayusculas) or argumento['orientación sexual'] or argumento['orientación real']}
             --{'[[Orientación sexual]]', propiedad('P91', enMayusculas) or argumento['orientación sexual'] or argumento['orientación real']}
           },
           },
Línea 482: Línea 474:
         -- En el caso del cónyuge tiene preferencia el argumento hasta que se muestre los calificativos.
         -- En el caso del cónyuge tiene preferencia el argumento hasta que se muestre los calificativos.
             clase      ='plainlist', -- Mostrar las listas sin viñetas
             clase      ='plainlist', -- Mostrar las listas sin viñetas
             {'Familia nobiliaria', propiedad('P53', debeExistir)},
             {'Familia', propiedad('P53', debeExistir)},
             {(padres and 'Padres') or (padre and 'Padre') or 'Madre', -- Mostrar padres, padre o madre según esté informado ambos o solo uno de ellos
             {(padres and 'Padres') or (padre and 'Padre') or 'Madre', -- Mostrar padres, padre o madre según esté informado ambos o solo uno de ellos
                 padres or padre or madre},
                 padres or padre or madre},
Línea 534: Línea 526:
             {'Estudio',            argumento['nombre estudio']}, -- Arquitectos
             {'Estudio',            argumento['nombre estudio']}, -- Arquitectos
             {'Restaurantes',      argumento['restaurantes']},  -- Para cocineros. Restaurantes en los que ha trabajado.
             {'Restaurantes',      argumento['restaurantes']},  -- Para cocineros. Restaurantes en los que ha trabajado.
},
        {tipo='sección',
            ['título'] = 'Información religiosa',
            estilotitulo = estiloTituloSecciones,
            {'[[Sacramento del orden|Ordenación diaconal]]', OrdenacionDiaconal},
            {'Ordenación sacerdotal', OrdenacionSacerdotal},
            {'Ordenación episcopal', OrdenacionEpiscopal},
            {'Proclamación cardenalicia', Cardenalato},
            {'Título cardenalicio', argumento['título cardenalicio']},
            {'Iglesia', argumento['iglesia']},
            {'[[Secularización]]', argumento['secularización']},
            {'[[Beatificación]]', argumento['beatificación']},
            {'[[Canonización]]', argumento['canonización']},
            {'Festividad', argumento['festividad'] or propiedad('P841')},
            {'Atributos', argumento['atributos']},
            {etiquetaVeneradoEn, argumento['venerado en'] or propiedad('P1049')},
            {'Patronazgo', argumento['patronazgo'] or propiedad('P417')},
            {'Santuario', argumento['santuario']},
        },
        -- Sección artística (actores y ¿presentadores?)
        {tipo='sección',
            ['titulo']  = seccionartistica,
            estilotitulo = estiloTituloSecciones,
            {'Rol debut'    , argumento['rol debut']},
            {'Año de debut' , argumento['rol debut'] and argumento['año debut']},
            --{'Año de retiro', argumento['año retiro'] or propiedad('P2032')},
            {'Películas'    , argumento['número de películas']},
            {'Serie'        , argumento['serie']},
        },
        {'Empleador',      argumento['empleador'] or
                          argumento['institución_de_trabajo'] or
                          argumento['nombre_estudio'] or
                          propiedad('P108', conPeriodo),
                          clase      ='plainlist'},
        --Profesores
        {'Estudiantes doctorales',  argumento['estudiantes doctorales'] or propiedad('P185', debeExistir)},
        {(ocupacionOArea and ocupacionOArea:find('[Pp]rofesor') and 'Estudiantes') or 'Alumnos', argumento['estudiantes'] or propiedad('P802', debeExistir)},


            {tipo='sección',
        -- Periodistas, presentadores y videoblogueros
            ['título'] = 'Información religiosa',
        {tipo='sección',
            estilotitulo = estiloTituloSecciones,
            {'Medio',          argumento['medio de comunicación']}, -- Unas veces informados con el significado de área y otras con el empleador
            {'[[Sacramento del orden|Ordenación diaconal]]', OrdenacionDiaconal},
            {'Canal',         argumento['canal']},
            {'Ordenación sacerdotal', OrdenacionSacerdotal},
            {'Programas',      argumento['programas'] or argumento['programa']},
            {'Ordenación episcopal', OrdenacionEpiscopal},
        },
            {'Proclamación cardenalicia', Cardenalato},  
        -- Videoblogueros, en especial youtubers
            {'Título cardenalicio', argumento['título cardenalicio']},
        {tipo='sección',
            {'Iglesia', argumento['iglesia']},
            {'Vídeos', argumento['videos']},
            {'[[Secularización]]', argumento['secularización']},
            {'Suscriptores', argumento['suscriptores']},
            {'[[Beatificación]]', argumento['beatificación']},
            {'Vistas totales', argumento['vistas totales']},
            {'[[Canonización]]', argumento['canonización'] or propiedad('P411', enMayusculas)},
        },
            {'Festividad', argumento['festividad'] or propiedad('P841')},
        -- Ocupación (escritores, artistas, periodistas, diseñadores, etc)
            {'Atributos', argumento['atributos']},
        -- Información artística
            {etiquetaVeneradoEn, argumento['venerado en'] or propiedad('P1049')},
        {tipo='sección',
            {'Patronazgo', argumento['patronazgo'] or propiedad('P417')},
            plural(argumento['movimiento'] or argumento['Movimiento'] or argumento['movimientos'] or
            {'Santuario', argumento['santuario']},
                propiedad('P135', {
            },
                    ['valor-módulo'] = 'Wikidata/Formato movimiento',  
             -- Sección artística (actores y ¿presentadores?)
                    ['valor-función'] = 'formatoMovimiento',
            {tipo='sección',
                    ['linkback']='sí',  
                ['titulo']  = seccionartistica,
                    ['calificativo'] = formatoPeriodo,
                estilotitulo = estiloTituloSecciones,
                    ordenar='por fecha', ['formatoTexto'] = 'mayúscula',}), 'Movimiento', 'Movimientos'),
                {'Rol debut'   , argumento['rol debut']},
            {'Seudónimo', argumento['seudónimo'] or argumento['Seudónimo'] or argumento['alias'] or argumento['Alias'] or propiedad('P742')},
                {'Año de debut' , argumento['rol debut'] and argumento['año debut']},
            {'Lengua literaria', argumento['lengua_literaria'] or argumento['Lengua_literaria']},
                --{'Año de retiro', argumento['año retiro'] or propiedad('P2032')},
            plural(argumento['género'] or argumento['Género'] or propiedad('P136', enMayusculas), 'Género', 'Géneros'),
                {'Películas'   , argumento['número de películas']},
            plural(argumento['instrumento'] or propiedad('P1303', enMayusculas), 'Instrumento', 'Instrumentos'),
                {'Serie'       , argumento['serie']},
            {'Tipo de voz', argumento['voz'] or argumento['tipo de voz'] or argumento['tesitura'] or propiedad('P412', enMayusculas)},
            },
             plural(argumento['compañía discográfica'] or propiedad('P264', conPeriodo), 'Discográfica', 'Discográficas', 'plainlist'),
            {'Empleador',     argumento['empleador'] or
        },
                              argumento['institución_de_trabajo'] or
        -- Obras notables. Se ponen de momento en cursivas pero es incorrecto en el caso de arquitectos.
                              argumento['nombre_estudio'] or
        {'Obras notables', argumento['obras destacadas'] or
                              propiedad('P108', conPeriodo),
                          argumento['obras notables'] or argumento['obras_notables'] or argumento['Obras notables'] or
                              clase       ='plainlist'},
                          argumento['obras'] or
            --Profesores
                          argumento['proyectos_representativos'] or propiedad('P800',{['enlace']='', ['lista'] = 'no ordenada', ['debeExistir'] = '', ['formatoTexto']='cursivas', ['linkback']=''}),
            {'Estudiantes doctorales',   argumento['estudiantes doctorales'] or propiedad('P185', debeExistir)},
                          clase='plainlist'
            {(ocupacionOArea and ocupacionOArea:find('[Pp]rofesor') and 'Estudiantes') or 'Alumnos', argumento['estudiantes'] or propiedad('P802', debeExistir)},
        },
        {'Proyectos representativos', argumento['proyectos representativos']},
        {'Artistas relacionados', relacionados},
        {'[[Autor de nombre científico#Abreviatura del autor|Abreviatura en botánica]]',
            argumento['abreviatura en botánica'] or propiedad('P428')},
        {'[[Autor de nombre científico|Abreviatura en zoología]]',
            argumento['abreviatura en zoología'] or propiedad('P835')},


            -- Periodistas, presentadores y videoblogueros
        --{'', listaDesplegable(etiquetaInfluencias, argumento['influenciado por'] or argumento['influido por'] or  
            {tipo='sección',
        --        argumento['influencias'] or argumento['Influencias'], frame)},
                {'Medio',          argumento['medio de comunicación']}, -- Unas veces informados con el significado de área y otras con el empleador
        --{'',        listaDesplegable('Influyó a', argumento['influyó en'] or argumento['influyó'] or argumento['Influyó'], frame)},
                {'Canal',          argumento['canal']},
                {'Programas',      argumento['programas'] or argumento['programa']},
            },
            -- Videoblogueros, en especial youtubers
            {tipo='sección',
                {'Vídeos', argumento['videos']},
                {'Suscriptores', argumento['suscriptores']},
                {'Vistas totales', argumento['vistas totales']},
            },
            -- Ocupación (escritores, artistas, periodistas, diseñadores, etc)
            -- Información artística
            {tipo='sección',
                plural(argumento['movimiento'] or argumento['Movimiento'] or argumento['movimientos'] or
                    propiedad('P135', {
                        ['valor-módulo'] = 'Wikidata/Formato movimiento',
                        ['valor-función'] = 'formatoMovimiento',
                        ['linkback']='sí',
                        ['calificativo'] = formatoPeriodo,
                        ['rangoMayor'] = 'sí',
                        ordenar='por fecha', ['formatoTexto'] = 'mayúscula',}), 'Movimiento', 'Movimientos'),
                {'Seudónimo', argumento['seudónimo'] or argumento['Seudónimo'] or argumento['alias'] or argumento['Alias'] or propiedad('P742')},
                {'Lengua literaria',  argumento['lengua_literaria'] or argumento['Lengua_literaria']},
                plural(argumento['género'] or argumento['Género'] or propiedad('P136', enMayusculas), 'Género', 'Géneros'),
                plural(argumento['instrumento'] or propiedad('P1303', enMayusculas), 'Instrumento', 'Instrumentos'),
                {'Tipo de voz', argumento['voz'] or argumento['tipo de voz'] or argumento['tesitura'] or propiedad('P412', enMayusculas)},
                plural(argumento['compañía discográfica'] or propiedad('P264', conPeriodo), 'Discográfica', 'Discográficas', 'plainlist'),
            },
            -- Obras notables. Se ponen de momento en cursivas pero es incorrecto en el caso de arquitectos.
            {'Obras notables', argumento['obras destacadas'] or
                              argumento['obras notables'] or argumento['obras_notables'] or argumento['Obras notables'] or
                              argumento['obras'] or
                              argumento['proyectos_representativos'] or propiedad('P800',{['enlace']='sí', ['lista'] = 'no ordenada',  ['debeExistir'] = 'sí', ['formatoTexto']='cursivas', ['linkback']='sí'}),
                              clase='plainlist'
            },
            {'Proyectos representativos', argumento['proyectos representativos']},
            {'Artistas relacionados', relacionados},
            {'[[Autor de nombre científico#Abreviatura del autor|Abreviatura en botánica]]',
                argumento['abreviatura en botánica'] or propiedad('P428')},
            {'[[Autor de nombre científico|Abreviatura en zoología]]',
                argumento['abreviatura en zoología'] or propiedad('P835')},
            {'[[Autor de nombre científico|Abreviatura en astronomía]]',
                argumento['abreviatura en astronomía']},
               
            --{'', listaDesplegable(etiquetaInfluencias, argumento['influenciado por'] or argumento['influido por'] or  
            --        argumento['influencias'] or argumento['Influencias'], frame)},
            --{'',        listaDesplegable('Influyó a', argumento['influyó en'] or argumento['influyó'] or argumento['Influyó'], frame)},


            -- Militares
        -- Militares
            {'Rama militar', argumento['rama']       or propiedad('P241', enMayusculas)},
        {'Lealtad', argumento['lealtad'] or propiedad('P945', enMayusculas)},
            {'[[Rango militar]]',       argumento['rango']     or propiedad('P410', conPeriodo), clase='plainlist'},
        {'Rama militar', argumento['rama'] or propiedad('P241', enMayusculas)},
            {'Conflictos', argumento['conflictos'] or argumento['batallas'] or propiedad('P607', enMayusculas)},
        {'Unidad militar', argumento['unidad'] or propiedad('P7779', enMayusculas)},
            -- Astronautas (un subtipo de militar)
        {'Mandos', argumento['mandos']},
            {'Misiones espaciales', argumento['misiones espaciales'] or propiedad('P450')},
        {'[[Grado militar|Rango militar]]', argumento['rango'] or propiedad('P410', conPeriodo), clase='plainlist'},
            {'Tiempo en el espacio', argumento['tiempo espacio']},
        {'Conflictos', argumento['conflictos'] or argumento['batallas'] or propiedad('P607', enMayusculas)},
            -- Toreros
        -- Astronautas (un subtipo de militar)
            {'Debut becerrista', argumento['debut becerrista']},
        {'Misiones espaciales', argumento['misiones espaciales'] or propiedad('P450')},
            {'Debut [[picador]]', argumento['debut picador']},
        {'Tiempo en el espacio', argumento['tiempo espacio']},
            {'Debut [[novillero]]', argumento['debut novillero']},
        -- Toreros
            {'Alternativa', argumento['alternativa']},
        {'Debut becerrista', argumento['debut becerrista']},
            {'Confirmación de alternativa', argumento['alternativa confirmación']},
        {'Debut [[picador]]', argumento['debut picador']},
            {'Apoderado', argumento['apoderado']},
        {'Debut [[novillero]]', argumento['debut novillero']},
            {'Escalafón general', argumento['escalafón']},
        {'Alternativa', argumento['alternativa']},
            {'Invención', argumento['invención']},
        {'Confirmación de alternativa', argumento['alternativa confirmación']},
            {'Triunfos', argumento['triunfos']},
        {'Apoderado', argumento['apoderado']},
            {'Retirada definitiva', argumento['retirada']},
        {'Escalafón general', argumento['escalafón']},
            -- Ajedrecistas
        {'Invención', argumento['invención']},
            {tipo='sección',
        {'Triunfos', argumento['triunfos']},
                {'Título',              argumento['título']    or argumento['titulo']}, -- <!-- Su majestad, primera dama, etc -->
        {'Retirada definitiva', argumento['retirada']},
                {etiquetacampeon,      argumento['campeón']    or argumento['campeon']},
        -- Ajedrecistas
                {'[[Sistema de puntuación Elo|Elo]]',          propiedad('P1087',{['formatoUnidad'] = 'número', ['calificativo']  = 'P585', ['linkback']='sí', ['rangoMayor'] = 'sí', ['ordenar'] = 'por fecha', ['uno'] = 'último'}) or argumento['elo'] }, --  
        {tipo='sección',
                {'[[Sistema de puntuación Elo|Mejor elo]]',    argumento['mejor elo']},
            {'Título',              argumento['título']    or argumento['titulo']}, -- <!-- Su majestad, primera dama, etc -->
                {'Escalafón FIDE',    rankingajedrez},
            {etiquetacampeon,      argumento['campeón']    or argumento['campeon']},
                {'Mejor escalafón',    argumento['mejor ranking']},
            {'[[Sistema de puntuación Elo|Elo]]',          propiedad('P1087',{['formatoUnidad'] = 'número', ['calificativo']  = 'P585', ['linkback']='sí', ['ordenar'] = 'por fecha', ['uno'] = 'último'}) or argumento['elo'] }, --  
                {'Término',            argumento['término'] or -- <!--Años bajo los cuales la persona tuvo el título (el de arriba xD) -->
            {'[[Sistema de puntuación Elo|Mejor elo]]',    argumento['mejor elo']},
                                        argumento['termino']},
            {'Escalafón FIDE',    rankingajedrez},
                {'Predecesor',          argumento['predecesor']},
            {'Mejor escalafón',    argumento['mejor ranking']},
                {'Predecesora',        argumento['predecesora']},
            {'Término',            argumento['término'] or -- <!--Años bajo los cuales la persona tuvo el título (el de arriba xD) -->
                {'Sucesor',            argumento['sucesor']},
                                    argumento['termino']},
                {'Sucesora',            argumento['sucesora']},
            {'Predecesor',          argumento['predecesor']},
            },  
            {'Predecesora',        argumento['predecesora']},
            {'Partido político',  argumento['partido político'] or argumento['partido'] or propiedad('P102', conPeriodo), clase='plainlist'},
            {'Sucesor',            argumento['sucesor']},
            {'Orden religiosa', argumento['congregación'] or propiedad('P611', enMayusculas)},
            {'Sucesora',            argumento['sucesora']},
            {'Afiliaciones',  argumento['afiliaciones'] or propiedad('P1416')},
        },  
            {'Miembro de', argumento['miembro de'] or argumento['sindicato'] or propiedad('P463', conPeriodoDebeExistir), clase='plainlist'},
        {'Partido político',  argumento['partido político'] or argumento['partido'] or propiedad('P102', conPeriodo), clase='plainlist'},
            {'Central sindical', argumento['central sindical'], clase='plainlist'},
        {'Orden religiosa', argumento['congregación'] or propiedad('P611', enMayusculas)},
         },
        {'Afiliaciones',  argumento['afiliaciones'] or propiedad('P1416')},
        {'Miembro de', argumento['miembro de'] or argumento['sindicato'] or propiedad('P463', conPeriodoDebeExistir), clase='plainlist'},
        {'Central sindical', argumento['central sindical'], clase='plainlist'},
         -- Web
        {'Sitio web', sitioWeb},


         {tipo='sección',
         {tipo='sección',
Línea 721: Línea 714:
{'', argumento['medallas'] },
{'', argumento['medallas'] },
},
},
        {tipo='sección',
}
            ['titulo'] = 'Información criminal',
            estilotitulo = estiloTituloSecciones,
            {'[[Delito|Cargos criminales]]', argumento['cargos criminales']  or propiedad('P1399'), clase='plainlist'},
            -- P2632 puede ser usado en alguno de los dos parámetros de abajo
            {'[[Sentencia (derecho)|Condena]]',              argumento['condena']},
            {'Situación penal',      argumento['situación penal']},
        },


if filterByOccupation( {
'Q931260', -- asesino
'Q484188', -- asesino en serie
'Q1154323', -- asesino relámpago
'Q2159907', -- criminal
'Q14886050', -- terrorista
'Q22962951', -- violador
'Q26267537', -- violador en serie
}, {
argumento['cargos criminales'],
argumento['condena'],
argumento['situación penal'],
argumento['víctimas'],
} ) then
local victimas = argumento['víctimas']
if victimas then
local ocupacionesValidasVictimas = {'Q484188', 'Q14886050', 'Q26267537', 'Q1154323'} -- asesino en serie, terrorista, violador en serie y asesino relámpago
for k,v in pairs(ocupacionesValidasVictimas) do
local snak = propiedad('P106', {['valor-función'] = formatoId})
if snak and snak:match(v) then
victimas = argumento['víctimas']
break
else
victimas = ''
end
end
end
table_merge(Ficha, {
{tipo='sección',
['titulo'] = 'Información criminal',
estilotitulo = estiloTituloSecciones,
{'[[Delito|Cargos criminales]]', argumento['cargos criminales']  or propiedad('P1399'), clase='plainlist'},
-- P2632 puede ser usado en alguno de los dos parámetros de abajo
{'[[Sentencia (derecho)|Condena]]', argumento['condena']},
{'Situación penal', argumento['situación penal']},
{'Víctimas', victimas},
}
})
end
table_merge(Ficha, {
         -- Con etiqueta/datos como en las fichas de escritor y artista en vez de como en la ficha de persona
         -- Con etiqueta/datos como en las fichas de escritor y artista en vez de como en la ficha de persona
         {'Firma', firma },
         {'Firma', firma },
        -- Web
 
        {tipo='sección',
            clase      ='plainlinks',
            titulo      ='Web',
            estilotitulo  = estiloTituloSecciones,
            {'Sitio web', sitioWeb},
        },
         {tipo='sección',
         {tipo='sección',
             titulo      ='Notas',
             titulo      ='Notas',
Línea 744: Línea 764:
             {'', argumento['notas'], estilodatos='text-align:left;font-size:90%; line-height:1.2em'}
             {'', argumento['notas'], estilodatos='text-align:left;font-size:90%; line-height:1.2em'}
         },
         },
        -- Sección hipotética, las imágenes inferiores no se muestran dentro de una sección
        {'',
            EscudoTitulo or '',
            estilodatos = 'text-align: center; font-weight: bold;' .. (estiloTituloSecciones or ''),
        },
        imageninferior = Escudo,
        ['tamañoimageninferior'] = '110px',
        pieinferior = LemaEscudo,
        --{'Fuente biográfica', argumento['fuentebiográfica']},
         entidad = argumento['id'], -- para el enlace final a wikidata
         entidad = argumento['id'], -- para el enlace final a wikidata
    }
})


     categorias = {}
     categorias = {}
    if  argumento['lugar_de_descanso'] or --renombrado
        argumento['supervisora_doctoral'] or --renombrado
        argumento['supervisores_doctorales'] or --renombrado
        argumento['supervisor_doctoral'] or --renombrado
        argumento['tesis_url'] or --renombrado
        argumento['tesis_título'] or --renombrado
        argumento['tesis_año'] or --renombrado
        argumento['abreviatura en astronomía']
        --or argumento['influyó en'] or argumento['influyó'] or argumento['Influyó'] -- eliminado
        --or argumento['predecesor'] or argumento['sucesor']-- eliminado
        or argumento['fuentebiográfica'] --por eliminar
        or argumento['mail'] --por eliminar
        then
            table.insert(categorias, '[[Categoría:Wikipedia:Páginas con parámetros a reemplazar de la plantilla ficha de persona ]]')
    end


local NF = require('Módulo:NF')
local NF = require('Módulo:NF')
Línea 789: Línea 784:
         return ModuloFicha.infobox(Ficha)
         return ModuloFicha.infobox(Ficha)
     end
     end
end
function table_merge(t1, t2)
for k,v in ipairs(t2) do
if type(k) == 'string' then
t1[k] = v
else
table.insert(t1, v)
end
end
return t1
end
function filterByOccupation( wikidataOccupations, localArguments )
if argumento['wikidata'] ~= 'no' then
local id = argumento['id'] or mw.wikibase.getEntityIdForCurrentPage()
if mw.wikibase.isValidEntityId( tostring( id ) ) then
local wd = mw.wikibase.getAllStatements(id, 'P106') -- Occupation
for k,v in pairs(wd) do
local oc = elementoTabla(v, 'mainsnak', 'datavalue', 'value', 'id')
for i,j in pairs( wikidataOccupations ) do
if i == ec then
return true
end
end
end
end
end
for k,v in pairs(localArguments) do
if v and v ~= 'no' then
return true
end
end
return false
end
end


Línea 810: Línea 839:
     else  titulo='[[Archivo:'..argumento['escudo'..numero]..'|44x40px]]<br />'..argumento['cargo'..numero] end
     else  titulo='[[Archivo:'..argumento['escudo'..numero]..'|44x40px]]<br />'..argumento['cargo'..numero] end
     if argumento['distrito'..numero] then titulo = titulo..'<br /><small>por '..argumento['distrito'..numero]..'</small>' end
     if argumento['distrito'..numero] then titulo = titulo..'<br /><small>por '..argumento['distrito'..numero]..'</small>' end
     if argumento['embajadorde'..numero] then titulo = titulo .. frame:preprocess('{{bandera|'.. argumento['embajadorde'..numero] ..'|tamaño=44x40px}}') end--{{bandera|{{{embajadorde}}}|tamaño=44x40px}}  
     if argumento['embajadorde'..numero] then titulo = titulo .. frame:preprocess('<br /> {{bandera|'.. argumento['embajadorde'..numero] ..'|tamaño=44x40px}}') end--{{bandera|{{{embajadorde}}}|tamaño=44x40px}}  
     if argumento['país'..numero] then titulo = titulo .. frame:preprocess('{{bandera|'.. argumento['país'..numero] ..'|tamaño=44x40px}}') end
     if argumento['país'..numero] then titulo = titulo .. frame:preprocess('{{bandera|'.. argumento['país'..numero] ..'|tamaño=44x40px}}') end
     if argumento['subtítulo'..numero] then titulo = titulo .. '<br /><small>'..argumento['subtítulo'..numero]..'</small>' end
     if argumento['subtítulo'..numero] then titulo = titulo .. '<br /><small>'..argumento['subtítulo'..numero]..'</small>' end
Línea 827: Línea 856:
             estilotitulo = 'background-color:#E6E6FA;',
             estilotitulo = 'background-color:#E6E6FA;',
             {'', periodo},
             {'', periodo},
             {'Vicegobernador', argumento['vicegobernador'..numero] },
             {'Junto con', argumento['juntoa'..numero] },
             {'Vicegobernadora', argumento['vicegobernadora'..numero] },
             {'Nominado por', argumento['nominado'..numero] },
            {'Nominada por', argumento['nominada'..numero] },
            {'Designado por', argumento['designado'..numero] },           
            {'Designada por', argumento['designada'..numero] },
            {'[[Monarca]]', argumento['monarca'..numero] },
             {'[[Presidente]]', argumento['presidente'..numero] },
             {'[[Presidente]]', argumento['presidente'..numero] },
            {'[[Monarca]]', argumento['monarca'..numero] },
             {'[[Primer ministro]]', argumento['primerministro'..numero] },
             {'[[Primer ministro]]', argumento['primerministro'..numero] },
            {'[[Canciller]]', argumento['canciller'..numero] },
             {'[[Gobernador]]', argumento['gobernador'..numero] },
             {'[[Gobernador]]', argumento['gobernador'..numero] },
             {'[[Jefe de Gobierno]]', argumento['jefe'..numero]},
             {'[[Alcalde]]', argumento['alcalde'..numero] },
             {'Junto con', argumento['juntoa'..numero] },
             {'[[Alcalde|Alcaldesa]]', argumento['alcaldesa'..numero] },
             {'Nominado por', argumento['nominado'..numero] },
             {'[[Jefe de Gobierno]]', argumento['jefe'..numero] },
             {'Designado por', argumento['designado'..numero] },
             {'[[Jefe de Gobierno|Jefa de Gobierno]]', argumento['jefa'..numero] },
             {'[[Gabinete (política)|Gabinete]]', argumento['gabinete'..numero] },
             {'[[Gabinete (política)|Gabinete]]', argumento['gabinete'..numero] },         
            {'[[Gabinete (política)|Consejo de Ministros]]', argumento['consejo'..numero] },           
            {'Secretario', argumento['secretario'..numero]},
            {'Secretaria', argumento['secretaria'..numero]},
             {'[[Vicepresidente]]', argumento['vicepresidente'..numero] },
             {'[[Vicepresidente]]', argumento['vicepresidente'..numero] },
             {'[[Vicepresidenta]]', argumento['vicepresidenta'..numero] },
             {'[[Vicepresidente|Vicepresidenta]]', argumento['vicepresidenta'..numero] },
             {'Vice primer ministro', argumento['viceprimerministro'..numero] },
             {'[[Vice primer ministro]]', argumento['viceprimerministro'..numero] },
             {'Vice primera ministra', argumento['viceprimeraministra'..numero] },
             {'[[Vice primer ministro|Vice primera ministra]]', argumento['viceprimeraministra'..numero] },
            {'Vicecanciller', argumento['vicecanciller'..numero]},
            {'[[Vicegobernador]]', argumento['vicegobernador'..numero] },
            {'[[Vicegobernador|Vicegobernadora]]', argumento['vicegobernadora'..numero] },           
             {'[[Teniente gobernador]]', argumento['teniente'..numero] },
             {'[[Teniente gobernador]]', argumento['teniente'..numero] },
             {'Vicealcalde', argumento['vicealcalde'..numero] },
             {'Vicealcalde', argumento['vicealcalde'..numero] },
             {'Vicejefe de gobierno', argumento['vicejefe'..numero]},
             {'Vicejefe de gobierno', argumento['vicejefe'..numero]},
            {'[[Canciller]]', argumento['canciller'..numero]},
            {'Vicecanciller', argumento['vicecanciller'..numero]},
             {'Predecesor', argumento['predecesor'..numero]},
             {'Predecesor', argumento['predecesor'..numero]},
             {'Predecesora', argumento['predecesora'..numero]},
             {'Predecesora', argumento['predecesora'..numero]},
             {'Sucesor', argumento['sucesor'..numero]},
             {'Sucesor', argumento['sucesor'..numero]},
             {'Sucesora', argumento['sucesora'..numero]},
             {'Sucesora', argumento['sucesora'..numero]},
            {'Compañero de fórmula', argumento['fórmula'..numero]},
            {'Oponente/s', argumento['oponentes'..numero]},
            {'En el cargo', argumento['enelcargo'..numero] },
             {argumento[dato..'data1'], argumento[dato..'data2'] },
             {argumento[dato..'data1'], argumento[dato..'data2'] },
             {argumento[dato..'data3'], argumento[dato..'data4'] },
             {argumento[dato..'data3'], argumento[dato..'data4'] },
Línea 876: Línea 910:
         --if idPropiedad =='P1477' then return require('Módulo:Tablas').tostring(Entidad) end -- FALTA
         --if idPropiedad =='P1477' then return require('Módulo:Tablas').tostring(Entidad) end -- FALTA
         opciones.propiedad = idPropiedad
         opciones.propiedad = idPropiedad
 
opciones.rangoMayor = 'sí' -- evitar tomar valores deprecados
         valorPropiedad = getPropiedadWikidata(opciones,Entidad.claims[idPropiedad])
         valorPropiedad = getPropiedadWikidata(opciones,Entidad.claims[idPropiedad])


Línea 888: Línea 923:


         return valorPropiedad
         return valorPropiedad
    end
end
function obtenerEtiquetaWikidata()
    if Entidad and Entidad.labels and Entidad.labels.es then
        return Entidad.labels.es.value
     end
     end
end
end
Línea 905: Línea 934:
         --'|marco_estilo=border:0; padding:0; border-top:1px solid #c0c0c0;' ..
         --'|marco_estilo=border:0; padding:0; border-top:1px solid #c0c0c0;' ..
         '|marco_estilo=border:0; padding:0;' ..
         '|marco_estilo=border:0; padding:0;' ..
         '|título_estilo=background-color:#8DB1C3;color:#FFF; text-align:left|lista_estilo=padding-left:33%;text-align:left; display:none|1='
         '|título_estilo=background-color:#8DB1C3;color:#000; text-align:left|lista_estilo=padding-left:33%;text-align:left; display:none|1='
         .. lista .. '}}')
         .. lista .. '}}')
end
end
Línea 1051: Línea 1080:
         -- La ocupación no está en la tabla anterior. Se intenta obtener de la propiedad P2522 en Wikidata de la ocupación
         -- La ocupación no está en la tabla anterior. Se intenta obtener de la propiedad P2522 en Wikidata de la ocupación
         etiquetaOcupacionCorregida = ModuloWikidata.getPropiedadEnEspanyol(idEntidadOcupacion, 'P2521') or etiquetaOcupacion
         etiquetaOcupacionCorregida = ModuloWikidata.getPropiedadEnEspanyol(idEntidadOcupacion, 'P2521') or etiquetaOcupacion
         return ModuloWikidataFormatos.enlazar(enlaceOcupacion, etiquetaOcupacionCorregida, idEntidadOcupacion, opciones) .. '[[Categoría:Wikipedia:Ocupaciones femeninas]]'
         return ModuloWikidataFormatos.enlazar(enlaceOcupacion, etiquetaOcupacionCorregida, idEntidadOcupacion, opciones)
     end
     end
end
end
Línea 1108: Línea 1137:


     --  Obtener la primera imagen en Wikidata de la persona
     --  Obtener la primera imagen en Wikidata de la persona
     local imagen = elementoTabla(Entidad, 'claims','P18',1)
     local imagen = elementoTabla(Entidad, 'claims','P18')
 
     if not imagen then
     if not imagen then
         return
         return
     end
     end
imagen = require('Módulo:Wikidata').filtrarDeclaracionPorRango(imagen)[1]


     -- Obtener el nombre de la imagen
     -- Obtener el nombre de la imagen
Línea 1123: Línea 1154:
     if piesDeImagen then
     if piesDeImagen then
         for k,pieDeImagen in pairs(piesDeImagen) do
         for k,pieDeImagen in pairs(piesDeImagen) do
             if pieDeImagen.datavalue.value.language=='es' then
             if pieDeImagen and pieDeImagen.datavalue and pieDeImagen.datavalue.value and pieDeImagen.datavalue.value.language=='es' then
                 -- devolver la imagen y el texto del pie de la imagen en español
                 -- devolver la imagen y el texto del pie de la imagen en español
                 return valorImagen, pieDeImagen.datavalue.value.text
                 return valorImagen, pieDeImagen.datavalue.value.text
MediaWiki spam blocked by CleanTalk.