Module:CategoriaNM

-- Módulo para implementar predefinição:NM sem controle de autoridade

local p = {} local Ferramentas = require 'Módulo:Ferramentas'

local function addCat(cat) return '' end

function p.nascimento(frame, ...) local args = Ferramentas.extractArgs( frame, ... ) local nascimento = args[1] local wikitext = '' -- cadeia devolvida com cats de monitoramento local title = mw.title.getCurrentTitle if title.namespace ~= 0 and title.namespace ~= 14 then return '' end if not Ferramentas.notEmpty(nascimento) then wikitext = wikitext .. addCat('Nascidos em ano desconhecido') return wikitext end nascimento = Ferramentas.trim(nascimento) local m = string.upper(nascimento) local decada = nascimento:gsub("^[D]", 'd') local seculo = nascimento:gsub("^[S]", 's') if m == 'MISSING' or m == 'UNKNOWN' or m == '?' or m == 'DESCONHECIDO' or not Ferramentas.notEmpty(nascimento) then -- nenhuma mensagem de erro que possa travar a função de chamada -- para ela gerenciar esse retorno. wikitext = wikitext .. addCat('Nascidos em ano desconhecido') elseif string.match(decada, 'década' ) then wikitext = wikitext .. addCat('Nascidos na ' .. decada) elseif string.match(seculo, 'século' ) then wikitext = wikitext .. addCat('Nascidos no ' .. seculo) elseif string.match(nascimento, 'a.C.' ) or tonumber( nascimento ) then wikitext = wikitext .. addCat('Nascidos em ' .. nascimento) else wikitext = wikitext .. addCat('Nascidos em ano desconhecido') end end

function p.morte(frame, ...) local args = Ferramentas.extractArgs( frame, ... ) local nascimento, morte = args[1], args[2] local wikitext = '' -- cadeia devolvida com cats de monitoramento local title = mw.title.getCurrentTitle if title.namespace ~= 0 and title.namespace ~= 14 then return '' end nascimento = Ferramentas.trim(nascimento) morte = Ferramentas.trim(morte) if not Ferramentas.notEmpty(nascimento) and not Ferramentas.notEmpty(morte) then wikitext = wikitext .. addCat('!Artigos que usam a predefinição NM sem data') return wikitext end local m = string.upper( nascimento or '') if m == 'MISSING' or m == 'UNKNOWN' or m == '?' or m == 'DESCONHECIDO' or not Ferramentas.notEmpty(nascimento) then -- nenhuma mensagem de erro que possa travar a função de chamada -- para ela gerenciar esse retorno. wikitext = wikitext .. addCat('Nascidos em ano desconhecido') else local decada = nascimento:gsub("^[D]", 'd') or '' local seculo = nascimento:gsub("^[S]", 's') or '' if string.match(decada, 'década' ) then wikitext = wikitext .. addCat('Nascidos na ' .. decada) elseif string.match(seculo, 'século' ) then wikitext = wikitext .. addCat('Nascidos no ' .. seculo) elseif string.match(nascimento, 'a.C.' ) or tonumber( nascimento ) then wikitext = wikitext .. addCat('Nascidos em ' .. nascimento) else wikitext = wikitext .. addCat('Nascidos em ano desconhecido') end end

morte m = string.upper( morte or '') if m == 'LIVING' or m == 'VIVA' then wikitext = wikitext .. addCat('Pessoas vivas') elseif m == 'MISSING' or m == 'UNKNOWN' or m == '?' or m == 'DESCONHECIDO' or not Ferramentas.notEmpty(morte) then wikitext = wikitext .. addCat('Mortos em ano desconhecido') else decada = morte:gsub("^[D]", 'd') or '' seculo = morte:gsub("^[S]", 's') or '' if string.match(decada, 'década' ) then wikitext = wikitext .. addCat('Mortos na ' .. decada) elseif string.match(seculo, 'século' ) then wikitext = wikitext .. addCat('Mortos no ' .. seculo) elseif string.match(morte, 'a.C.' ) or tonumber( morte ) then wikitext = wikitext .. addCat('Mortos em ' .. morte) else wikitext = wikitext .. addCat('Mortos em ano desconhecido') end end return wikitext end

function p.main( frame ) return p.morte( frame ) end

return p