Módulo:Calificaciones profesionales
Ir a la navegación
Ir a la búsqueda
La documentación para este módulo puede ser creada en Módulo:Calificaciones profesionales/doc
-- This module implements [[Template:Album ratings]]. local mTableTools = require('Module:TableTools') local yesno = require('Module:Yesno') local p = {} local function makeCell(html, s) html :tag('td') :css('text-align', 'center') :css('vertical-align', 'middle') :wikitext(s) end local function makeRow(review, score) local row = mw.html.create('tr') makeCell(row, review) makeCell(row, score) return row end local function makeHeaderRow(header, background, scope) local row = mw.html.create('tr') row :tag('th') :attr('scope', scope ~= false and 'col' or nil) :attr('colspan', 2) :css('text-align', 'center') :css('background', background ~= false and '#d1dbdf' or nil) :css('font-size', '120%') :wikitext(header) return row end local function makeRatingHeaderRow() local row = mw.html.create('tr') row :tag('th') :attr('scope', 'col') :wikitext('Fuente') :done() :tag('th') :attr('scope', 'col') :wikitext('Calificación') return row end function p._main(args) local reviewNums = mTableTools.affixNums(args, 'rev') local root = mw.html.create() local tableRoot = root:tag('table') local duplicatescores = 0 -- Table base tableRoot :addClass('wikitable infobox') :css('float', args.align or 'right') :css('width', args.width or '25.3em') :css('font-size', '80%') :css('text-align', 'center') :css('margin', '0.5em 0 0.5em 1em') :css('padding', 0) :css('border-spacing', 0) :tag('caption') :attr('scope', 'col') :attr('colspan', 2) :css('font-size', '120%') :wikitext(args['título'] or args.title or 'Calificaciones profesionales') -- Subtitle if args['subtitulo'] or args.subtitle then tableRoot:node(makeHeaderRow(args['subtitulo'] or args.subtitle, false, false)) end -- Metacritic if args.MC then tableRoot:node(makeHeaderRow('Calificaciones agregadas', true, true)) tableRoot:node(makeRatingHeaderRow()) tableRoot:node(makeRow('[[Metacritic]]', args.MC)) end -- AnyDecentMusic? if args.ADM then tableRoot:node(makeRow('[[AnyDecentMusic?]]', args.ADM)) end -- Album of the Year if args.AOTY then tableRoot:node(makeRow('[[Album of the Year (sitio web)|Album of the Year]]', args.AOTY)) end -- Review rows tableRoot:node(makeHeaderRow('Calificaciones', true, true)) tableRoot:node(makeRatingHeaderRow()) for i, num in ipairs(reviewNums) do tableRoot:node(makeRow( args['rev' .. num], args['rev' .. num .. 'Score'] or args['Rev' .. num .. 'Score'] or args['rev' .. num .. 'score'] or args['Rev' .. num .. 'score'] )) local scorecount = 0 scorecount = scorecount + (args['rev' .. num .. 'Score'] and 1 or 0) scorecount = scorecount + (args['Rev' .. num .. 'Score'] and 1 or 0) scorecount = scorecount + (args['rev' .. num .. 'score'] and 1 or 0) scorecount = scorecount + (args['Rev' .. num .. 'score'] and 1 or 0) if scorecount > 1 then duplicatescores = duplicatescores + 1 end end -- Tracking category if mw.title.getCurrentTitle().namespace == 0 and yesno(args.noprose) then root:wikitext('[[Categoría:Artículos con calificaciones profesionales que necesitan ser convertidos en prosa]]') end if duplicatescores > 0 then root:wikitext('[[Categoría:Páginas que utilizan calificaciones profesionales con parámetros de puntuación duplicados]]') end return tostring(root) end function p.main(frame) local args = require('Module:Arguments').getArgs(frame, { wrappers = 'Plantilla:Calificaciones profesionales' }) return p._main(args) end return p