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

m
1 revisión importada
wikitves>-sasha-
m (sobra)
m (1 revisión importada)
 
(No se muestran 4 ediciones intermedias de 3 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 29: Línea 29:


-- Constantes
-- Constantes
local enMayusculas    = {['formatoTexto'] = 'mayúscula', ['linkback']='sí'}
local enMayusculas    = {['formatoTexto'] = 'mayúscula', ['linkback']='sí', ['rangoMayor'] = 'sí'}
local enMayusculasO  = {['formatoTexto'] = 'mayúscula', ['conjunción']=' o ', ['linkback']='sí', ['rangoMayor'] = 'sí'}
local enMayusculasO  = {['formatoTexto'] = 'mayúscula', ['conjunción']=' o ', ['linkback']='sí', ['rangoMayor'] = 'sí'}
local listaNoOrdenada = {['lista'] = 'no ordenada', ['linkback']='sí'} --, ['debeExistir'] = 'sí'
local listaNoOrdenada = {['lista'] = 'no ordenada', ['linkback']='sí', ['rangoMayor'] = '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í'}
local debeExistir    = {['debeExistir'] = 'sí', ['formatoTexto'] = 'mayúscula', ['linkback']='sí'}
local debeExistir    = {['debeExistir'] = 'sí', ['formatoTexto'] = 'mayúscula', ['linkback']='sí', ['rangoMayor'] = 'sí'}
local conPeriodo      = {['lista'] = 'no ordenada', ['formatoTexto'] = 'mayúscula', ['calificativo'] = formatoPeriodo, ordenar='por fecha', ['linkback']='sí'}
local conPeriodo      = {['lista'] = 'no ordenada', ['formatoTexto'] = 'mayúscula', ['calificativo'] = formatoPeriodo, ordenar='por fecha', ['linkback']='sí', ['rangoMayor'] = 'sí'}
local conPeriodoDebeExistir = {['lista'] = 'no ordenada', ['formatoTexto'] = 'mayúscula', ['calificativo'] = formatoPeriodo, ordenar='por fecha', ['debeExistir'] = 'sí', ['linkback']='sí'}
local conPeriodoDebeExistir = {['lista'] = 'no ordenada', ['formatoTexto'] = 'mayúscula', ['calificativo'] = formatoPeriodo, ordenar='por fecha', ['debeExistir'] = 'sí', ['linkback']='sí', ['rangoMayor'] = 'sí'}
local sinEnlazar = {['enlace']='no', ['linkback']='sí'}
local sinEnlazar = {['enlace']='no', ['linkback']='sí', ['rangoMayor'] = 'sí'}
local sinLapiz  = {}
local sinLapiz  = {['rangoMayor'] = 'sí'}
local normal    = {['linkback']='sí'}
local normal    = {['linkback']='sí', ['rangoMayor'] = 'sí'}


-- Formatos según el tipo de cabecera
-- Formatos según el tipo de cabecera


local formatos={
local formatos={
     ['por defecto'] = {['estiloTituloFicha'] = 'background-color:#8DB1C3;color:#FFF'},     
     ['por defecto'] = {['estiloTituloFicha'] = 'background-color:#8DB1C3;color:#FFF'},
    ['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'},
Línea 52: Línea 53:
     ['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 99: Línea 101:
             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 == 'femenino' or gender == 'mujer transgénero' then
         etiquetaAnyosActivo = 'Años activa'
         etiquetaAnyosActivo = 'Años activa'
         etiquetaConocidoPor = 'Conocida por'
         etiquetaConocidoPor = 'Conocida por'
Línea 207: Línea 210:
     local nacimiento, desaparicion, fallecimiento
     local nacimiento, desaparicion, fallecimiento
     local fechaNacimientoTimestamp = elementoTabla(Entidad, 'claims', 'P569', 1, 'mainsnak', 'datavalue', 'value', 'time')
     local fechaNacimientoTimestamp = elementoTabla(Entidad, 'claims', 'P569', 1, 'mainsnak', 'datavalue', 'value', 'time')
     local lugarNacimiento    = argumento['lugar de nacimiento'] or propiedad('P19', {['conjunción']=' o ', ['valor-módulo'] = 'Wikidata/Formato lugar', ['valor-función'] = 'formatoLugar', ['linkback']='sí', fecha=fechaNacimientoTimestamp})
     local lugarNacimiento    = argumento['lugar de nacimiento'] or propiedad('P19', {['conjunción']=' o ', ['valor-módulo'] = 'Wikidata/Formato lugar', ['valor-función'] = 'formatoLugar', ['linkback']='sí', fecha=fechaNacimientoTimestamp, ['rangoMayor'] = 'sí'})


     local lugarDesaparicion  = argumento['lugar de desaparición']
     local lugarDesaparicion  = argumento['lugar de desaparición']
     local fechaFallecimientoTimestamp = elementoTabla(Entidad, 'claims', 'P570', 1, 'mainsnak', 'datavalue', 'value', 'time')
     local fechaFallecimientoTimestamp = elementoTabla(Entidad, 'claims', 'P570', 1, 'mainsnak', 'datavalue', 'value', 'time')
     local lugarFallecimiento = argumento['lugar de fallecimiento'] or propiedad('P20', {['conjunción']=' o ', ['valor-módulo'] = 'Wikidata/Formato lugar', ['valor-función'] = 'formatoLugar', ['linkback']='sí', fecha = fechaFallecimientoTimestamp})
     local lugarFallecimiento = argumento['lugar de fallecimiento'] or propiedad('P20', {['conjunción']=' o ', ['valor-módulo'] = 'Wikidata/Formato lugar', ['valor-función'] = 'formatoLugar', ['linkback']='sí', fecha = fechaFallecimientoTimestamp, ['rangoMayor'] = 'sí'})


     fallecimiento = enVariasLineas({
     fallecimiento = enVariasLineas({
Línea 442: Línea 445:
                                   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  
Línea 482: Línea 485:
         -- 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 623: Línea 626:


             -- Militares
             -- Militares
            {'Lealtad', argumento['lealtad'] or propiedad('P945', enMayusculas)},
             {'Rama militar', argumento['rama']      or propiedad('P241', enMayusculas)},
             {'Rama militar', argumento['rama']      or propiedad('P241', enMayusculas)},
             {'[[Rango militar]]',        argumento['rango']      or propiedad('P410', conPeriodo), clase='plainlist'},
             {'[[Grado militar|Rango militar]]',        argumento['rango']      or propiedad('P410', conPeriodo), clase='plainlist'},
             {'Conflictos', argumento['conflictos'] or argumento['batallas'] or propiedad('P607', enMayusculas)},
             {'Conflictos', argumento['conflictos'] or argumento['batallas'] or propiedad('P607', enMayusculas)},
             -- Astronautas (un subtipo de militar)
             -- Astronautas (un subtipo de militar)
Línea 660: Línea 664:
             {'Miembro de', argumento['miembro de'] or argumento['sindicato'] or propiedad('P463', conPeriodoDebeExistir), clase='plainlist'},
             {'Miembro de', argumento['miembro de'] or argumento['sindicato'] or propiedad('P463', conPeriodoDebeExistir), clase='plainlist'},
             {'Central sindical', argumento['central sindical'], clase='plainlist'},
             {'Central sindical', argumento['central sindical'], clase='plainlist'},
            -- Web
            {'Sitio web', sitioWeb},
         },
         },


Línea 732: Línea 738:
         -- 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 810: Línea 810:
     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 827:
             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] },
             {'[[Presidente]]', argumento['presidente'..numero] },
             {'[[Presidente]]', argumento['presidente'..numero] },
             {'[[Monarca]]', argumento['monarca'..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 1051: Línea 1056:
         -- 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 1113:


     --  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
MediaWiki spam blocked by CleanTalk.