Diferencia entre revisiones de «Módulo:Sucesiones»
Apariencia
Contenido eliminado Contenido añadido
Simplifico el estilo |
usar mw.html en vez del módulo htmlbuilder |
||
Línea 2: | Línea 2: | ||
-- Módulos utilizados |
-- Módulos utilizados |
||
local HtmlBuilder = require('Module:HtmlBuilder') |
--local HtmlBuilder = require('Module:HtmlBuilder') -- Obsoleto. Usar mw.html |
||
local ModuloTablas |
local ModuloTablas = require('Module:Tablas') |
||
local ModuloWikidata = require('Module:Wikidata') |
local ModuloWikidata = require('Module:Wikidata') |
||
Línea 24: | Línea 24: | ||
etiquetaWikidata = Entidad.labels.es.value |
etiquetaWikidata = Entidad.labels.es.value |
||
sucesion = |
sucesion = mw.html.create('table') |
||
:addClass('wikitable') |
|||
:css('text-align', 'center') |
|||
:css('width','100%') |
|||
:css('clear','both') |
|||
:css('font-size','90%') |
|||
sucesion |
sucesion:tag('tr') |
||
:tag('th'):wikitext('Predecesor') |
|||
:css('width','30%') |
|||
:css('background-color','#FFEC80') |
|||
:tag('th'):wikitext("Premios de ''" .. etiquetaWikidata .. "''") |
|||
:css('background-color','#FFEC80') |
|||
:tag('th'):wikitext('Sucesor') |
|||
:css('width','30%') |
|||
:css('background-color','#FFEC80') |
|||
-- Grabar los datos obtenidos de Wikidata en una tabla |
-- Grabar los datos obtenidos de Wikidata en una tabla |
||
Línea 78: | Línea 78: | ||
-- Formatear los datos obtenidos |
-- Formatear los datos obtenidos |
||
for k,premio in pairs(nombrePremios) do |
for k,premio in pairs(nombrePremios) do |
||
fila = sucesion |
fila = sucesion:tag('tr') |
||
-- Predecesor |
-- Predecesor |
||
Línea 92: | Línea 92: | ||
idPredecesores[k] == idPredecesores[k + 2] then |
idPredecesores[k] == idPredecesores[k + 2] then |
||
fila |
fila:tag('td'):wikitext(tituloPredecesor) |
||
:attr('rowspan', 3) |
|||
elseif idPredecesores[k] and idPredecesores[k] == idPredecesores[k + 1] then |
elseif idPredecesores[k] and idPredecesores[k] == idPredecesores[k + 1] then |
||
fila |
fila:tag('td'):wikitext(tituloPredecesor) |
||
:attr('rowspan', 2) |
|||
else |
else |
||
fila |
fila:tag('td'):wikitext(tituloPredecesor) |
||
end |
end |
||
end |
end |
||
fila |
fila:tag('td'):wikitext(nombrePremios[k]) |
||
-- Sucesor |
-- Sucesor |
||
Línea 116: | Línea 116: | ||
idSucesores[k] == idSucesores[k + 2] then |
idSucesores[k] == idSucesores[k + 2] then |
||
fila |
fila:tag('td'):wikitext(tituloSucesor) |
||
:attr('rowspan', 3) |
|||
elseif idSucesores[k] and idSucesores[k] == idSucesores[k + 1] then |
elseif idSucesores[k] and idSucesores[k] == idSucesores[k + 1] then |
||
fila |
fila:tag('td'):wikitext(tituloSucesor) |
||
:attr('rowspan', 2) |
|||
else |
else |
||
fila |
fila:tag('td'):wikitext(tituloSucesor) |
||
end |
end |
||
end |
end |
Revisión del 20:47 25 feb 2015
A continuación se muestra la documentación transcluida desde la subpágina /doc. [salta a la caja de código]
Uso
Esta documentación está transcluida desde Módulo:Sucesiones/doc.
Por favor, añade las categorías en la subpágina de documentación y los interwikis en Wikidata. Subpáginas de este módulo.
Por favor, añade las categorías en la subpágina de documentación y los interwikis en Wikidata. Subpáginas de este módulo.
local z = {}
-- Módulos utilizados
--local HtmlBuilder = require('Module:HtmlBuilder') -- Obsoleto. Usar mw.html
local ModuloTablas = require('Module:Tablas')
local ModuloWikidata = require('Module:Wikidata')
local Entidad -- Tabla con los datos en Wikidata del libro.
local etiquetaWikidata
function z.sucesionPremios(frame)
-- Obtener los datos de la página donde se inserta la ficha de Wikidata.
Entidad = mw.wikibase.getEntityObject()
-- Obra sin etiqueta en Wikidata
if not Entidad or not Entidad.labels or not Entidad.labels.es then
return
end
-- Obra sin premios en Wikidata
if not Entidad.claims or not Entidad.claims['P166'] then
return
end
etiquetaWikidata = Entidad.labels.es.value
sucesion = mw.html.create('table')
:addClass('wikitable')
:css('text-align', 'center')
:css('width','100%')
:css('clear','both')
:css('font-size','90%')
sucesion:tag('tr')
:tag('th'):wikitext('Predecesor')
:css('width','30%')
:css('background-color','#FFEC80')
:tag('th'):wikitext("Premios de ''" .. etiquetaWikidata .. "''")
:css('background-color','#FFEC80')
:tag('th'):wikitext('Sucesor')
:css('width','30%')
:css('background-color','#FFEC80')
-- Grabar los datos obtenidos de Wikidata en una tabla
nombrePremios = {}
idPredecesores = {}
idSucesores = {}
for k,premio in pairs(Entidad.claims['P166']) do
nombrePremios[k] = ModuloWikidata.formatoIdEntidad('Q' .. premio.mainsnak.datavalue.value['numeric-id'],
{['enlace'] = 'sí', ['calificativo'] = 'P585'})
-- Premio con fecha
if premio.qualifiers and premio.qualifiers.P585 and premio.qualifiers.P585[1] then
anyoPremio = ModuloWikidata.formatoDato(premio.qualifiers.P585[1],
{['enlace'] = 'sí', ['formatoTexto']='mayúscula'})
nombrePremios[k] = nombrePremios[k] .. ' (' .. anyoPremio .. ')'
end
if premio.qualifiers and
premio.qualifiers.P155 and
premio.qualifiers.P155[1] and
premio.qualifiers.P155[1].datavalue and
premio.qualifiers.P155[1].datavalue.value then
idPredecesores[k] = premio.qualifiers.P155[1].datavalue.value['numeric-id']
end
if premio.qualifiers and
premio.qualifiers.P156 and
premio.qualifiers.P156[1] and
premio.qualifiers.P156[1].datavalue and
premio.qualifiers.P156[1].datavalue.value then
idSucesores[k] = premio.qualifiers.P156[1].datavalue.value['numeric-id']
end
end
-- Formatear los datos obtenidos
for k,premio in pairs(nombrePremios) do
fila = sucesion:tag('tr')
-- Predecesor
if not idPredecesores[k] or idPredecesores[k] ~= idPredecesores[k - 1] then
if idPredecesores[k] then
tituloPredecesor = "''" .. ModuloWikidata.formatoIdEntidad('Q' .. idPredecesores[k],
{['enlace'] = 'sí'}) .. "''"
else
tituloPredecesor = '-'
end
if idPredecesores[k] and idPredecesores[k] == idPredecesores[k + 1] and
idPredecesores[k] == idPredecesores[k + 2] then
fila:tag('td'):wikitext(tituloPredecesor)
:attr('rowspan', 3)
elseif idPredecesores[k] and idPredecesores[k] == idPredecesores[k + 1] then
fila:tag('td'):wikitext(tituloPredecesor)
:attr('rowspan', 2)
else
fila:tag('td'):wikitext(tituloPredecesor)
end
end
fila:tag('td'):wikitext(nombrePremios[k])
-- Sucesor
if not idSucesores[k] or idSucesores[k] ~= idSucesores[k - 1] then
if idSucesores[k] then
tituloSucesor = "''" .. ModuloWikidata.formatoIdEntidad('Q' .. idSucesores[k],
{['enlace'] = 'sí'}) .. "''"
else
tituloSucesor = '-'
end
if idSucesores[k] and idSucesores[k] == idSucesores[k + 1] and
idSucesores[k] == idSucesores[k + 2] then
fila:tag('td'):wikitext(tituloSucesor)
:attr('rowspan', 3)
elseif idSucesores[k] and idSucesores[k] == idSucesores[k + 1] then
fila:tag('td'):wikitext(tituloSucesor)
:attr('rowspan', 2)
else
fila:tag('td'):wikitext(tituloSucesor)
end
end
end
return tostring(sucesion)
end
return z