<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://homologacao2.wikifavelas.com.br/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AManuten%C3%A7%C3%A3o</id>
	<title>Módulo:Manutenção - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="https://homologacao2.wikifavelas.com.br/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3AManuten%C3%A7%C3%A3o"/>
	<link rel="alternate" type="text/html" href="https://homologacao2.wikifavelas.com.br/index.php?title=M%C3%B3dulo:Manuten%C3%A7%C3%A3o&amp;action=history"/>
	<updated>2026-05-16T00:33:53Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://homologacao2.wikifavelas.com.br/index.php?title=M%C3%B3dulo:Manuten%C3%A7%C3%A3o&amp;diff=15121&amp;oldid=prev</id>
		<title>Patrícia Ferreira: Criou página com &#039;-- Configuração dos assuntos local assuntos = {   [&#039;de ambiente&#039;] = {&#039;ambiente&#039;, &#039;amb&#039;},   [&#039;de arte&#039;] = {&#039;arte&#039;},   [&#039;de biografia&#039;] = {&#039;biografia&#039;, &#039;bio&#039;},   [&#039;de biografi...&#039;</title>
		<link rel="alternate" type="text/html" href="https://homologacao2.wikifavelas.com.br/index.php?title=M%C3%B3dulo:Manuten%C3%A7%C3%A3o&amp;diff=15121&amp;oldid=prev"/>
		<updated>2022-04-20T17:33:17Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;-- Configuração dos assuntos local assuntos = {   [&amp;#039;de ambiente&amp;#039;] = {&amp;#039;ambiente&amp;#039;, &amp;#039;amb&amp;#039;},   [&amp;#039;de arte&amp;#039;] = {&amp;#039;arte&amp;#039;},   [&amp;#039;de biografia&amp;#039;] = {&amp;#039;biografia&amp;#039;, &amp;#039;bio&amp;#039;},   [&amp;#039;de biografi...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Configuração dos assuntos&lt;br /&gt;
local assuntos = {&lt;br /&gt;
  [&amp;#039;de ambiente&amp;#039;] = {&amp;#039;ambiente&amp;#039;, &amp;#039;amb&amp;#039;},&lt;br /&gt;
  [&amp;#039;de arte&amp;#039;] = {&amp;#039;arte&amp;#039;},&lt;br /&gt;
  [&amp;#039;de biografia&amp;#039;] = {&amp;#039;biografia&amp;#039;, &amp;#039;bio&amp;#039;},&lt;br /&gt;
  [&amp;#039;de biografia histórica&amp;#039;] = {&amp;#039;bioh&amp;#039;},&lt;br /&gt;
  [&amp;#039;do Brasil&amp;#039;] = {&amp;#039;brasil&amp;#039;, &amp;#039;bra&amp;#039;, &amp;#039;br&amp;#039;},&lt;br /&gt;
  [&amp;#039;de ciência&amp;#039;] = {&amp;#039;ciência&amp;#039;, &amp;#039;ciencia&amp;#039;, &amp;#039;ci&amp;#039;},&lt;br /&gt;
  [&amp;#039;sobre cinema e TV&amp;#039;] = {&amp;#039;cinema&amp;#039;, &amp;#039;cine&amp;#039;, &amp;#039;tv&amp;#039;},&lt;br /&gt;
  [&amp;#039;de economia&amp;#039;] = {&amp;#039;economia&amp;#039;, &amp;#039;eco&amp;#039;},&lt;br /&gt;
  [&amp;#039;de empresa&amp;#039;] = {&amp;#039;empresa&amp;#039;, &amp;#039;emp&amp;#039;},&lt;br /&gt;
  [&amp;#039;de esporte&amp;#039;] = {&amp;#039;esporte&amp;#039;, &amp;#039;desp&amp;#039;, &amp;#039;esp&amp;#039;},&lt;br /&gt;
  [&amp;#039;de ficção&amp;#039;] = {&amp;#039;ficção&amp;#039;, &amp;#039;fic&amp;#039;},&lt;br /&gt;
  [&amp;#039;de futebol&amp;#039;] = {&amp;#039;futebol&amp;#039;, &amp;#039;fut&amp;#039;},&lt;br /&gt;
  [&amp;#039;de geografia&amp;#039;] = {&amp;#039;geografia&amp;#039;, &amp;#039;geo&amp;#039;},&lt;br /&gt;
  [&amp;#039;de geografia (África)&amp;#039;] = {&amp;#039;geo-af&amp;#039;},&lt;br /&gt;
  [&amp;#039;de geografia (América)&amp;#039;] = {&amp;#039;geo-am&amp;#039;},&lt;br /&gt;
  [&amp;#039;de geografia (Europa)&amp;#039;] = {&amp;#039;geo-eu&amp;#039;},&lt;br /&gt;
  [&amp;#039;de geografia (Extremo Oriente)&amp;#039;] = {&amp;#039;geo-eo&amp;#039;},&lt;br /&gt;
  [&amp;#039;de geografia (Médio Oriente)&amp;#039;] = {&amp;#039;geo-mo&amp;#039;},&lt;br /&gt;
  [&amp;#039;de geografia (Oceania/Pacífico)&amp;#039;] = {&amp;#039;geo-oc&amp;#039;},&lt;br /&gt;
  [&amp;#039;de história&amp;#039;] = {&amp;#039;história&amp;#039;, &amp;#039;hist&amp;#039;},&lt;br /&gt;
  [&amp;#039;de história (África)&amp;#039;] = {&amp;#039;hist-af&amp;#039;},&lt;br /&gt;
  [&amp;#039;de história (América)&amp;#039;] = {&amp;#039;hist-am&amp;#039;},&lt;br /&gt;
  [&amp;#039;de história (Europa)&amp;#039;] = {&amp;#039;hist-eu&amp;#039;},&lt;br /&gt;
  [&amp;#039;de história (Extremo Oriente)&amp;#039;] = {&amp;#039;hist-eo&amp;#039;},&lt;br /&gt;
  [&amp;#039;de história (Médio Oriente)&amp;#039;] = {&amp;#039;hist-mo&amp;#039;},&lt;br /&gt;
  [&amp;#039;de história (Oceania/Pacífico&amp;#039;] = {&amp;#039;hist-oc&amp;#039;},&lt;br /&gt;
  [&amp;#039;de jogo&amp;#039;] = {&amp;#039;jogo&amp;#039;},&lt;br /&gt;
  [&amp;#039;de localidade&amp;#039;] = {&amp;#039;localidade&amp;#039;, &amp;#039;loc&amp;#039;},&lt;br /&gt;
  [&amp;#039;de lusofonia&amp;#039;] = {&amp;#039;lusofonia&amp;#039;, &amp;#039;lusof&amp;#039;},&lt;br /&gt;
  [&amp;#039;de música&amp;#039;] = {&amp;#039;música&amp;#039;, &amp;#039;musica&amp;#039;, &amp;#039;mús&amp;#039;, &amp;#039;mus&amp;#039;},&lt;br /&gt;
  [&amp;#039;de política&amp;#039;] = {&amp;#039;política&amp;#039;, &amp;#039;pol&amp;#039;},&lt;br /&gt;
  [&amp;#039;de Portugal&amp;#039;] = {&amp;#039;portugal&amp;#039;, &amp;#039;por&amp;#039;, &amp;#039;pt&amp;#039;},&lt;br /&gt;
  [&amp;#039;de sociedade&amp;#039;] = {&amp;#039;sociedade&amp;#039;, &amp;#039;soc&amp;#039;},&lt;br /&gt;
  [&amp;#039;de saúde&amp;#039;] = {&amp;#039;saúde&amp;#039;},&lt;br /&gt;
  [&amp;#039;de tecnologia&amp;#039;] = {&amp;#039;tecnologia&amp;#039;, &amp;#039;tec&amp;#039;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local m = {}&lt;br /&gt;
&lt;br /&gt;
m.assuntos = {}&lt;br /&gt;
-- inverte a tabela, de {[&amp;#039;de ambiente&amp;#039;]={&amp;#039;ambiente&amp;#039;, &amp;#039;amb&amp;#039;}, ...} para {[&amp;#039;ambiente&amp;#039;]=&amp;#039;de ambiente&amp;#039;, [&amp;#039;amb&amp;#039;]=&amp;#039;de ambiente&amp;#039;, ...}&lt;br /&gt;
for v, t in pairs(assuntos) do&lt;br /&gt;
  for _, k in ipairs(t) do&lt;br /&gt;
    m.assuntos[k] = v&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
assuntos = nil&lt;br /&gt;
&lt;br /&gt;
-- verifica se o mês é válido e retorna o mês em letra minúscula&lt;br /&gt;
local valida_mes = function(mes)&lt;br /&gt;
  local meses = {&amp;#039;[Jj]aneiro&amp;#039;, &amp;#039;[Ff]evereiro&amp;#039;, &amp;#039;[Mm]arço&amp;#039;, &amp;#039;[Aa]bril&amp;#039;, &amp;#039;[Mm]aio&amp;#039;, &amp;#039;[Jj]unho&amp;#039;,&lt;br /&gt;
    &amp;#039;[Jj]ulho&amp;#039;, &amp;#039;[Aa]gosto&amp;#039;, &amp;#039;[Ss]etembro&amp;#039;, &amp;#039;[Oo]utubro&amp;#039;, &amp;#039;[Nn]ovembro&amp;#039;, &amp;#039;[Dd]ezembro&amp;#039;}&lt;br /&gt;
  for n, m in ipairs(meses) do&lt;br /&gt;
    if string.find(mes, &amp;#039;^&amp;#039; .. m .. &amp;#039; de %d+$&amp;#039;) then&lt;br /&gt;
      return string.lower(mes)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
m.categorizar = function(frame)&lt;br /&gt;
  local config = frame.args&lt;br /&gt;
  local catbase, mes&lt;br /&gt;
  local cats = {}&lt;br /&gt;
  -- Esta função é só para manutenção de artigos&lt;br /&gt;
  if mw.title.getCurrentTitle().namespace ~= 0 then&lt;br /&gt;
    return&lt;br /&gt;
  end&lt;br /&gt;
  if config[&amp;#039;1&amp;#039;] then&lt;br /&gt;
    catbase = config[&amp;#039;1&amp;#039;]&lt;br /&gt;
  else&lt;br /&gt;
    return&lt;br /&gt;
  end&lt;br /&gt;
  local catsecao = config[&amp;#039;seção&amp;#039;]&lt;br /&gt;
  local arg1 = config[&amp;#039;arg1&amp;#039;] or &amp;#039;^Est[ae] .&amp;#039;&lt;br /&gt;
  local cat2 = config [&amp;#039;cat2&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
  local args = frame:getParent().args or {}&lt;br /&gt;
  local secao = args[&amp;#039;1&amp;#039;] and string.find(args[&amp;#039;1&amp;#039;], &amp;#039;^Esta sec?ção&amp;#039;)&lt;br /&gt;
  if secao and catsecao then&lt;br /&gt;
    catbase = catsecao&lt;br /&gt;
  elseif args[&amp;#039;1&amp;#039;] and args[&amp;#039;1&amp;#039;] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
    -- permite passar a data no primeiro argumento&lt;br /&gt;
    if valida_mes(args[&amp;#039;1&amp;#039;]) or string.match(args[&amp;#039;1&amp;#039;], &amp;#039;^2%d%d%d$&amp;#039;) then&lt;br /&gt;
      mes = args[&amp;#039;1&amp;#039;]&lt;br /&gt;
    -- se o primeiro argumento não é um assunto e não começa com Este ou Esta&lt;br /&gt;
    elseif not m.assuntos[args[&amp;#039;1&amp;#039;]] and not mw.ustring.find(args[&amp;#039;1&amp;#039;], arg1) then&lt;br /&gt;
      table.insert(cats, &amp;#039;!Páginas com argumentos incorretos em marca de manutenção&amp;#039;)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  -- categoria de data&lt;br /&gt;
  mes = mes or args[&amp;#039;data&amp;#039;] or args[&amp;#039;Data&amp;#039;] or args[&amp;#039;date&amp;#039;] or args[&amp;#039;Date&amp;#039;]&lt;br /&gt;
  if mes then&lt;br /&gt;
    local vmes = valida_mes(mes)&lt;br /&gt;
    if not vmes then&lt;br /&gt;
      local ano = string.match(mes, &amp;#039;^2%d%d%d$&amp;#039;)&lt;br /&gt;
      if ano then&lt;br /&gt;
      	mes = ano&lt;br /&gt;
      else&lt;br /&gt;
        table.insert(cats, &amp;#039;!Páginas com parâmetro de data formatado incorretamente&amp;#039;)&lt;br /&gt;
        mes = nil&lt;br /&gt;
      end&lt;br /&gt;
    else&lt;br /&gt;
      mes = vmes&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  if mes then&lt;br /&gt;
    local cat = &amp;#039;!Artigos &amp;#039; .. catbase .. &amp;#039; desde &amp;#039; .. mes&lt;br /&gt;
    if mw.title.new(cat, 14).exists then&lt;br /&gt;
      table.insert(cats, cat)&lt;br /&gt;
    else&lt;br /&gt;
      -- se a categoria de mês não existir tenta ver se existe o mês com letra maiúscula&lt;br /&gt;
      cat = &amp;#039;!Artigos &amp;#039; .. catbase .. &amp;#039; desde &amp;#039; .. string.gsub(mes, &amp;#039;^%a&amp;#039;, string.upper)&lt;br /&gt;
      if mw.title.new(cat, 14).exists then&lt;br /&gt;
        table.insert(cats, cat)&lt;br /&gt;
      else&lt;br /&gt;
        -- se também não existe, tenta colocar somente o ano&lt;br /&gt;
        local ano = string.match(mes, &amp;#039;2%d%d%d&amp;#039;)&lt;br /&gt;
        if ano then&lt;br /&gt;
          table.insert(cats, &amp;#039;!Artigos &amp;#039; .. catbase .. &amp;#039; desde &amp;#039; .. ano)&lt;br /&gt;
        -- senão coloca na categoria base&lt;br /&gt;
        else&lt;br /&gt;
          table.insert(cats, &amp;#039;!Artigos &amp;#039; .. catbase)&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
    -- se tiver cat2, repete tudo para cat2&lt;br /&gt;
    if cat2 then&lt;br /&gt;
      cat = cat2 .. &amp;#039; desde &amp;#039; .. mes&lt;br /&gt;
      if mw.title.new(cat, 14).exists then&lt;br /&gt;
        table.insert(cats, cat)&lt;br /&gt;
      else&lt;br /&gt;
        cat = cat2 .. &amp;#039; desde &amp;#039; .. string.gsub(mes, &amp;#039;^%a&amp;#039;, string.upper)&lt;br /&gt;
        if mw.title.new(cat, 14).exists then&lt;br /&gt;
          table.insert(cats, cat)&lt;br /&gt;
        else&lt;br /&gt;
          local ano = string.match(mes, &amp;#039;2%d%d%d&amp;#039;)&lt;br /&gt;
          if ano then&lt;br /&gt;
            table.insert(cats, cat2 .. &amp;#039; desde &amp;#039; .. ano)&lt;br /&gt;
          else&lt;br /&gt;
            table.insert(cats, cat2)&lt;br /&gt;
          end&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  else -- não tem data válida, coloca a categoria base&lt;br /&gt;
    table.insert(cats, &amp;#039;!Artigos &amp;#039; .. catbase)&lt;br /&gt;
    if cat2 then&lt;br /&gt;
      table.insert(cats, cat2)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  -- categoria de assunto&lt;br /&gt;
  local algum = false&lt;br /&gt;
  local semcat = false&lt;br /&gt;
  for k, v in pairs(args) do&lt;br /&gt;
    if string.find(k, &amp;#039;^%d%d-$&amp;#039;) then&lt;br /&gt;
      v = string.lower(v)&lt;br /&gt;
      if m.assuntos[v] then&lt;br /&gt;
        algum = true&lt;br /&gt;
        local cat = &amp;#039;!Artigos &amp;#039; .. m.assuntos[v] .. &amp;#039; &amp;#039; .. catbase&lt;br /&gt;
        if mw.title.new(cat, 14).exists then&lt;br /&gt;
          table.insert(cats, cat)&lt;br /&gt;
        else&lt;br /&gt;
          semcat = true&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
    else&lt;br /&gt;
      k = string.lower(k)&lt;br /&gt;
      if m.assuntos[k] and v ~= &amp;#039;&amp;#039; then&lt;br /&gt;
        algum = true&lt;br /&gt;
        local cat = &amp;#039;!Artigos &amp;#039; .. m.assuntos[k] .. &amp;#039; &amp;#039; .. catbase&lt;br /&gt;
        if mw.title.new(cat, 14).exists then&lt;br /&gt;
          table.insert(cats, cat)&lt;br /&gt;
        else&lt;br /&gt;
          semcat = true&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  if not algum then&lt;br /&gt;
    local cat = &amp;#039;!Artigos &amp;#039; .. catbase .. &amp;#039; sem indicação de tema&amp;#039;&lt;br /&gt;
    if mw.title.new(cat, 14).exists then&lt;br /&gt;
      table.insert(cats, cat)&lt;br /&gt;
    end&lt;br /&gt;
  elseif semcat then&lt;br /&gt;
    local cat = &amp;#039;!Artigos &amp;#039; .. catbase .. &amp;#039; por assunto&amp;#039;&lt;br /&gt;
    local cat2 = &amp;#039;!Artigos &amp;#039; .. catbase .. &amp;#039; por tema&amp;#039;&lt;br /&gt;
    if mw.title.new(cat, 14).exists then&lt;br /&gt;
      table.insert(cats, cat)&lt;br /&gt;
    elseif mw.title.new(cat2, 14).exists then&lt;br /&gt;
      table.insert(cats, cat2)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  -- finalizando&lt;br /&gt;
  for i, cat in ipairs(cats) do&lt;br /&gt;
    cats[i] = &amp;#039;[[Categoria:&amp;#039; .. cat .. &amp;#039;]]&amp;#039;&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return table.concat(cats)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return m&lt;/div&gt;</summary>
		<author><name>Patrícia Ferreira</name></author>
	</entry>
</feed>