Módulo:Categorizar PE

Fonte: Enciclopédia de conhecimento da Igreja de Deus
Saltar para a navegação Saltar para a pesquisa

A documentação para este módulo pode ser criada na página Módulo:Categorizar PE/doc

local p = {}
function p.ano(frame)
				local var = frame.args[1]
				
				-- Verifica se a página não é do domínio Wikipédia (número 4)
				if mw.title.getCurrentTitle().namespace ~= 4 then
								return ""
				end
				
				-- Caso o parâmetro esteja no formato DD-MM-YY
				if string.match(var, "%d%d%-%d%d%-%d%d") then
								return "[[Category:!Propostas de eliminação encerradas em 20" .. string.sub(var, -2) .. "]]"
				end
				
				-- Caso o parâmetro esteja no formato YYYY
				if string.len(var) == 4 then
					local year = tonumber(var)
					if year and year >= 2000 and year <= 2099 then
												return "[[Category:!Propostas de eliminação encerradas em " .. tostring(year) .. "]]"
								else 
									return "[[Category:!Propostas de eliminação encerradas sem ano reconhecido]]"
								end
				end
				
				-- Caso o parâmetro esteja no formato YYYYMMDD
				if string.len(var) == 8 then
								local firstFourDigits = tonumber(string.sub(var, 1, 4))
								-- Verify if the first four digits are between 2000 and 2099
								if firstFourDigits and firstFourDigits >= 2000 and firstFourDigits <= 2099 then
												return "[[Category:!Propostas de eliminação encerradas em " .. tostring(firstFourDigits) .. "]]"
								end
				end
				
				-- Divide o parâmetro usando " " ou "-" ou "/" ou "" como separador
				local str = mw.text.split(var, "[ %-/]")
				local reversedStr = {}
				-- Inverte a ordem dos elementos da array
				for i = #str, 1, -1 do
								table.insert(reversedStr, str[i])
				end
				-- Procura por um elemento que tenha 4 dígitos, buscando a partir do último elemento
				for _, substr in ipairs(reversedStr) do
								if tonumber(substr) and string.len(substr) == 4 then
												return "[[Category:!Propostas de eliminação encerradas em " .. substr .. "]]"
								end
				end
	-- Caso tudo tenha dado errado...
				return "[[Category:!Propostas de eliminação encerradas sem ano reconhecido]]"
end
return p