Saltar para o conteúdo

Wikipédia:Filtro de edições/10

Origem: Wikipédia, a enciclopédia livre.

Caracteres repetidos
Status
Impedindo
Manutenção
Baixa.
Resumo
Detecta palavras com caracteres alfabéticos (ou conjuntos de até quatro caracteres) repetidos pelo menos quatro vezes exceto em urls no qual foram idenfiticados falsos positivos.
Ferramentas
Falsos positivos
Total 3
Lista Lista filtrada (com gadget)
(PS: futuramente, poderíamos ver os 5 mais recentes aqui mesmo)
Tarefas

Explicação[editar código-fonte]

Qual é a lógica daquela condição? Ele detecta 6 caracteres em sequência? Acho que está detectando falso positivo…

Outra dúvida: porque esse IP não tem registro de contribuições? 21h25min de 20 de abril de 2009: 189.24.190.246 (discussão) despoletou um filtro de abuso, executando a ação "edit" em Magica. Ações tomadas: nenhum; Descrição do filtro: caracteres repetidos o comentário precedente não foi assinado por Kleiner (discussão • contrib.) 18h31min de 20 de abril de 2009

Também não entendi. Encontrou muitos falsos positivos e poucas entradas válidas. As contribuições são um mistério: nem as eliminadas aparecem. Mas o filtro detectou vandalismo corretamente, vide log. Daimore msg 20h29min de 21 de abril de 2009 (UTC)[responder]
Deu falso positivo nesta edição! Como não estou familizarizado com regex, ainda não peguei o significado do '(..)/1{6}' Se entendi bem, ele pega um conjunto de dois carcteres iguais que se repitam por pelo menos seis vezes no texto, é isso?
Outra dúvida: ele analisa apenas a alteração do editor ou procura o problema no artigo inteiro? Por exemplo, se o artigo já tinha um "aaaaaaaa" escrito em algum canto, e de repente um IP corrige outra coisa que nada tem a ver, issi vai fazer com que ele caia no filtro? Kleiner msg 22h23min de 21 de abril de 2009 (UTC)[responder]
Eureka! Fazendo uns testes aqui, descobri o problema: o ponto final inclui qualquer caractere, inclusive espaços em branco (isto quer dizer que os espaços das infoboxes, que damos por questão de legibilidade do código, caem no filtro…), e é isso que está causando tantos falsos positivos nesse filtro específico! Solução sugerida: aplicar o filtro apenas para caracteres alfabéticos (se deixarmos númericos, artigos de matemática caírão constantemente no filtro… hehehehe)
Mas a outra dúvida persiste (o filtro analisa apenas a linha modificada ou o código do artigo inteiro?) Kleiner msg 20h10min de 22 de abril de 2009 (UTC)[responder]
Depende da variável utilizada: added_lines ou new_wiki_text. Lechatjaune msg 02h06min de 23 de abril de 2009 (UTC)[responder]

Simplificação do código[editar código-fonte]

A regex

([a-záâãéêíóôõúç][^\-]|[a-záâãéêíóôõúç][^\-][^\-]|[a-záâãéêíóôõúç][^\-][^\-][^\-])\1{3}

usada 3 vezes no filtro 10 (e que detecta três usos consecutivos [e idênticos] de uma string do tipo "uma letra minúscula seguida de 1, 2 ou 3 caracteres que não sejam um hífen") pode ser trocada pela seguinte:

([a-záâãéêíóôõúç][^\-]{1,3})\1{3}

Helder 01h49min de 11 de março de 2011 (UTC)[responder]

Muito obrigado pela sugestão, já foi implementada. Kleiner msg 17h31min de 11 de março de 2011 (UTC)[responder]
Mais uma coisa: se preferir, também dá para agrupar as três ocorrências do regex declarando uma variável "repetido":
!("autoconfirmed" in user_groups) &
(article_namespace == 0 | article_namespace == 102) & (
repetido:="([a-záâãéêíóôõúç][^\-]{1,3})\1{3}";
lcase(added_lines) rlike repetido &
!(lcase(removed_lines) rlike repetido) &
!lcase(added_lines) rlike ".*http:.*" + repetido)
Isso é algo que pode ser útil em outros filtros também. Helder 18h10min de 11 de março de 2011 (UTC)[responder]
Inicialmente achava que o filtro interessaria também pessoas sem conhecimento prévio de lógica de programação, e que por isso usar variáveis sem comentários ao lado delas tornaria o código menos intuitivo... Mas, depois de um ano observando o desinteresse geral (muito por culpa de nossa própria falha em documentar apropriadamente a ferramenta), hoje concordo que podemos usar variáveis sem maiores preocupações... Kleiner msg 11h20min de 14 de março de 2011 (UTC)[responder]