Módulo:Clasificaciónvj/Sandbox
Este módulo no tiene página de documentación[crear]
local z = {}
local Entidad -- Tabla con los datos en Wikidata del libro.
local ModuloArgumentos = require('Módulo:Argumentos')
local argumentos = ModuloArgumentos.obtenerValorDeArgumentos
function z.main(frame)
ModuloArgumentos.obtenerTablaDeArgumentos(frame)
Entidad = mw.wikibase.getEntity(argumentos{'id'}) or {}
local Imagenes = mw.loadData('Módulo:Clasificaciónvj/datos')
--:: Argumentos
local ESRB = argumentos{'ESRB', {propiedad, 'P852'}}
local PEGI = argumentos{'PEGI', {propiedad, 'P908'}}
local CERO = argumentos{'CERO', {propiedad, 'P853'}}
local USK = argumentos{'USK', {propiedad, 'P914'}}
local BBFC = argumentos{'BBFC', {propiedad, 'P2629'}}
local BARS = argumentos{'BARS', {propiedad, 'P3216'}}
local CVGCL = argumentos{'CVGCL', {propiedad, 'P9028'}}
local OFLC = argumentos{'OFLC', {propiedad, 'P3156'}}
local RARS = argumentos{'RARS', {propiedad, 'P2637'}}
local GSRR = argumentos{'GSRR', {propiedad, 'P916'}}
local IFCO = argumentos{'IFCO', {propiedad, 'P7573'}}
local Apple = argumentos{'Apple'} -- propiedad solicitada
--:: Valores
return enVariasLineas({
evaluar('PEGI', PEGI , Imagenes['PEGI']),
evaluar('ESRB', ESRB, Imagenes['ESRB']),
evaluar('CERO', CERO, Imagenes['CERO']),
evaluar('Unterhaltungssoftware Selbstkontrolle|USK', USK, Imagenes['USK']),
evaluar('IFCO', IFCO, Imagenes['IFCO']),
evaluar('BBFC', BBFC, Imagenes['BBFC']),
evaluar('OFLC', OFLC, Imagenes['OFLC']),
evaluar('BARS', BARS, Imagenes['BARS']),
evaluar('RARS', RARS, Imagenes['RARS']),
evaluar('GRAC', GRAC, Imagenes['GRAC']),
evaluar('GSRR', GSRR, Imagenes['GSRR']),
evaluar('App Store|Apple', Apple, Imagenes['Apple']),
evaluar('Calificación de videojuegos (Chile)|CVGCL', CVGCL, Imagenes['CVGCL']),
})
end
function evaluar(literal, valor, imagenes, nota)
if not valor or valor == '' or valor == nil then
return ''
end
local imagen
if imagenes then
imagen = imagenes[valor]
end
if imagen and nota then
return '<div style="display:table-row"><div style="display:table-cell;font-weight:bold"> [[' .. literal .. ']] </div><div style="display:table-cell">' .. imagen .. '<small>' .. nota .. '</small></div></div>'
--return '<b> [[' .. literal .. ']] <b>' .. imagen .. '<small>' .. nota .. '</small>'
elseif imagen then
return '<div style="display:table-row"><div style="display:table-cell;font-weight:bold"> [[' .. literal .. ']] </div><div style="display:table-cell">' .. imagen .. '</div></div>'
--return '<b> [[' .. literal .. ']] </b>' .. imagen .. ''
else
return '<div style="display:table-row"><div style="display:table-cell;font-weight:bold"> [[' .. literal .. ']] </div><div style="display:table-cell">' .. valor .. '</div></div>'
--return '<b> [[' .. literal .. ']] </b>' .. valor .. ''
end
end
function enVariasLineas(lista)
local resultado
local copia={}
require('Módulo:Tablas').insertarElementosConValor(lista, copia)
-- Solo devolver algo si hay al menos un elemento
if copia[1] then
return '<div style="display:table">' .. table.concat(copia) .. '</div>'
end
end
function propiedad(idPropiedad)
if Entidad and Entidad.claims and Entidad.claims[idPropiedad] then
return require('Módulo:Tablas').elemento(Entidad, 'claims', idPropiedad, 1, 'mainsnak', 'datavalue', 'value', 'id')
end
end
return z