Wikipédia:Robôs/Pedidos de aprovação/ChicoBot 2

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

pedidoediçõescontadorlogsblock userblock logflag logflag botSUL util
Pedidos de tarefas: 1, 2

Operator: Chicocvenancio

Automatic or manually assisted: Automático

Programming language(s): Python

Function summary: Inserir marcações da Central de Fiabilidade e

Listar os casos de mediação em uma página

Edit period(s) (e.g. continuous, daily, one time run): Contínua, somente quando necessário

Edit rate requested: Incerto. Não mais que 20 edições a cada 30 minutos, sendo duas edições para cada caso na central de fiabilidade e uma para cada caso de mediação.

Already has a bot flag (Y/N): N

Function details:

Usar o pywikipedia para inserir as marcações na Central de Fiabilidade e na PD do artigo em questão. Futuramente poderia usar o mesmo método para listar PEs automaticamente nos dias correspondentes.

Usar o pywikipedia para listar os casos de mediação, já corretamente categorizados em Categoria:Casos novos de mediação e Categoria:Casos à espera de mediação

Discussion[editar código-fonte]

Não percebi o Edit rate requested, são 20 edições a cada 30 min? Se possível, aponte aqui a discussão onde a comunidade aprova que a tarefa seja efectuada por um bot. Sobre a listagem de casos em mediação, uma vez que estão já categorizados, parece-me desnecessária a listagem por bot, hà alguma decisão da comunidade nesse sentido? Alchimista Fala comigo! 19h55min de 21 de fevereiro de 2012 (UTC)[responder]

Sobre a questão da edit rate, penso que os casos de mediação e da central não são muitos então pensei em rodar o bot para verificar se é necessário no máximo uma vez a cada 30 minutos e limitar em 20 edições por vez que ele rodar (até para me facilitar verificar por algum erro no começo). Como não há muito movimento nas duas atividades propostas nem vejo necessidade de aumentar esse nível depois (seria suficiente para 10 adições na Central ou 20 novos casos de mediação a cada meia hora). Coloquei mais para frisar que o nível de edições será bem pequeno. (me inspirei no que colocastes aqui).
Quanto à decisão sobre a central de fiabilidade pode ser vista aqui. O Castelo até se posicionou contra a atividade do Bot, mas após minha resposta não se posicionou mais (3 dias atrás); seria bom se ele comentasse por aqui.
Quanto à listagem de casos para mediação, peço desculpas, realmente não havia discutido com a comunidade; mas penso que não será uma questão contenciosa. Abri um tópico para discutir. Chico Venancio (discussão) 22h50min de 21 de fevereiro de 2012 (UTC)[responder]


Já tive o meu bot a fazer isso: [1], mas como tinha que o correr regularmente e não tinha tempo passei à frente. Ver também aqui. Lijealso (discussão) 22h55min de 21 de fevereiro de 2012 (UTC)[responder]

Então vamos lá, creio que não vale a pena condicionar a tarefa da mediação a 20 edições por 30 minutos, o bot poderia correr de x em x tempo, e ai só penso que poderia ser num espaço mais alargado, do género de 6 em 6 horas, contudo isso poderia ser ajustado de acordo com o surgimento dos casos, ou seja, como não há tantos casos como isso, com o decorrer do surgimento dos casos veremos qual o período mais ajustado, e sem a limitação de edições, ficando pelas 5 edições por minuto, creio que assim fica mais flexível, que achas? O período sobre o qual correria o da central de fiabilidade seria similar, ou seja, correr de 30 em 30 min parece-me também ser muito curto, mas facilmente ajustável, algo que se pode ver qual o timming ideal com o tempo, por isso podemos ver qual a solução ideal. Sobre a questão das PE's, no comentário anterior acabei por confundir, como o lije indicou em cima, a questão das mediações foi já discutida, estava a referir-me às PE's, mas creio que podemos começar por estas duas funções e depois passar para essa, o script está pronto para testes? Alchimista Fala comigo! 00h23min de 22 de fevereiro de 2012 (UTC)[responder]
Fiz o script para listar os casos de mediação. Usuário:Chicocvenancio/ListarMediação.py Fiz o teste dele em Usuário:Chicocvenancio/teste e me parece que está funcionando perfeitamente. Vou escrever o outro script agora. Chico Venancio (discussão) 11h29min de 22 de fevereiro de 2012 (UTC)[responder]
Tenho algumas sugestões: o conteúdo assumido como estático, ou seja, a secção Casos abertos e seguintes, pelo menos uma vez por ano, o que conforme está leva a que o script tenha de ser actualizado pelo menos anualmente, já pensas-te em isolar somente a secção de casos novos e alterar somente ai por regex? A segunda sugestão prende-se mais com uma questão de servidores. Onde tens o listar_mediations(), se colocares o trecho seguinte, o servidor sabe mais facilmente quando os pedidos do bot terminam, poupando assim esforço:
if __name__ == "__main__":
    try:
        listar_mediations()
    finally:
        pywikibot.stopme()

Alchimista Fala comigo! 16h40min de 22 de fevereiro de 2012 (UTC)[responder]

Eu tinha começado com uma ideia assim, mas me pareceu mais simples usar uma variável para o conteúdo (especialmente para remover os casos que não estejam nas categorias), mas é só usar duas variáveis (uma para cada categoria) e inserir elas por regex. Vou adequar o código. Chico Venancio (discussão) 17h51min de 22 de fevereiro de 2012 (UTC)[responder]
Feito Ver em Usuário:Chicocvenancio/ListarMediação.py. Chico Venancio (discussão) 18h49min de 22 de fevereiro de 2012 (UTC)[responder]

Feito também o caso da central de fiabilidade. Ver aqui Usuário:Chicocvenancio/Central_de_fiabilidade.py.

Para o código final que será rodado (combinação dos dois) ver aqui Usuário:Chicocvenancio/ChicoBot.py. Chico Venancio (discussão) 00h30min de 23 de fevereiro de 2012 (UTC)[responder]

Alterei ligeiramente o código sobre a central. Adicionei uma regex que pula a página caso ela já tenha a marcação e retirei o sumário (o padrão fica melhor). Chico Venancio (discussão) 03h32min de 23 de fevereiro de 2012 (UTC)[responder]
Pelo menos o de ontem pareceu-me bem, dei agora uma vista rápida de olhos e parece-me estar tudo em ordem. Fazemos então uma ronda de testes? Vamos começar uma vez por dia, e vamos analisando as edições, posteriormente vemos de quanto em quanto tempo deve correr. Alchimista Fala comigo! 21h12min de 23 de fevereiro de 2012 (UTC)[responder]

Para deixar registrado aqui. O Claudio apontou que é melhor que o ChicoBot fique sem a flag de bot. Para permitir que os vigiantes das páginas em questão que percebam as modificações nas páginas vigiadas. Vou manter esse bot só para fazer esse tipo de tarefas, se precisar de alguma nova tarefa que precise da flag criarei um novo bot e a proporei para ele. Chico Venancio (discussão) 23h20min de 23 de fevereiro de 2012 (UTC)[responder]

Mesmo que seja para editar sem flag, tanto o bot como a tarefa necessita de aprovação. No caso, mesmo com flag, as edições surgem nas páginas vigiadas como qualquer outra edição, somente marcada como bot, apenas não aparecem nas mr's, o que caso seja necessário, pode ser contornado, pois o pywikibot permite que se grave alterações sem usar a flag de bot. Alchimista Fala comigo! 22h15min de 24 de fevereiro de 2012 (UTC)[responder]
Ah não sabia disso de marcar sem a flag. E claro que sabia que as tarefas devem ser aprovadas. Chico Venancio (discussão) 22h17min de 24 de fevereiro de 2012 (UTC)[responder]
Citação: No caso, mesmo com flag, as edições surgem nas páginas vigiadas como qualquer outra edição, somente marcada como bot - a edição aparece nas vigiadas, mas ninguém habilita para aparecer as edições dos bots nos vigiados, então é como se não aparecesse. O ideal é editar (para essa tarefa) sem a flag de bot, e se dá para fazer isso pelo py, melhor ainda. Rjclaudio msg 23h03min de 24 de fevereiro de 2012 (UTC)[responder]
Mea culpa, como tenho habilitadas as edições de bots nos vigiados nem me ocorreu que fosse possível filtrar. Então após a aprovação, se for necessário flag, o bot ao salvar as alterações não a usará, nem marcará as edições como menores, assim todos as vêm. Alchimista Fala comigo! 00h25min de 25 de fevereiro de 2012 (UTC)[responder]

De acordo com a discussão que está ocorrendo aqui, preciso rodar o bot também para operacionalizar as novas Centrais que estou criando. Imediatamente, peço autorização para rodar o bot para a Central de Fusões com esse script. Chico Venancio (discussão) 19h39min de 9 de março de 2012 (UTC)[responder]

Chico, por favor para o bot, tens já mais de 120 edições com uma tarefa que não foi sequer discutida, estávamos a analisar a central de mediações. Não podes colocar o bot a fazer edições dessa forma, sem serem discutidas aqui nem autorização, e se leres as regras, mesmo o número normal de edições de teste são cerca de 50, que já foram largamente ultrapassadas, é um bot que ainda não tem flag, tens de ter em atenção a esses pormenores e não passar por cima do que está estabelecido. Alchimista Fala comigo! 15h38min de 16 de março de 2012 (UTC)[responder]
Creio que ainda há arestas a limar:
Pros redirects, a predef poderia usar um ifexist para verificar se tem WP:.../Artigo A, Artigo B, se não tiver, verifica se tem WP:.../Artigo A, Artigo B, se tb não tiver, usa alguma delas. Assim, tendo criado uma das duas, a predef vai apontar pra página correta sem precisar de redirect. Rjclaudio msg 16h55min de 17 de março de 2012 (UTC)[responder]
O próprio script pode verificar se existe a predefinição, numa primeira fase, procurar por {{fusões a avaliar}}, se não tiver, ou a página não existir, coloca lá. Se tiver, basta procurar no campo dos nomes se os títulos lá estão, dessa forma evita-se que haja trabalho feito no servidor sempre que se abre a página, que pode ser feito uma vez pelo bot. Alchimista Fala comigo! 17h19min de 17 de março de 2012 (UTC)[responder]

Quando criei a central de fusões perguntei ao Alchimista e a Béria no IRC se devia incluir aqui ou criar um novo pedido para rodar o script que havia escrito para torná-la exequível. Me orientaram para colocar aqui. Assim o fiz e comentei que iria rodar o script. De fato eu jamais tive uma resposta afirmativa de qualquer membro do GAB de que poderia rodar o script, mas pensei que estavam cientes de que eu o estava rodando (fiz vários comentários sobre isso no IRC e fiz o pedido aqui). Peço desculpas por tê-lo rodado sem autorização.

Ainda nesse tema, é bom observar que 43 das edições do bot foram feitas em páginas de teste. E eu pensava que as 50 edições seriam contadas por script (o das fusões já chegou a 50 mais os outros dois nem perto).

Voltando ao mérito da questão, conversei com o Alchimista no IRC e ele concorda comigo em achar que colocar mais um #ifexists nas predefinições será muito mais custoso aos servidores que criar os redirecionamentos com bot. Também com a ajuda do Alchimista eu já consegui um script que não está produzindo erros (e até faz um log bonitinho em Usuário:ChicoBot/log (só do script de fusões, ainda vou fazer para os outros). Chico Venancio (discussão) 23h10min de 17 de março de 2012 (UTC)[responder]

Hoje eu tornei o script da central de fusões muito mais seguro ao fazê-lo verificar se as páginas com as quais ele está lidando existem ou se são redirects. Se não existirem ou se forem redirecionamentos ele pula elas. Amanhã vou adicionar comentários ao código para explicar o que ele faz em cada parte, provavelmente vou simplificá-lo um pouco para torná-lo mais facilmente legível também. Os outros dois scripts continuam rodando sem nenhum problema. Chico Venancio (discussão) 05h53min de 21 de março de 2012 (UTC)[responder]

O script das fusões está terminado, rodou algumas vezes em diferentes situações sem apresentar nenhum bug e já comentei (pesadamente) o código para torná-lo compreensível. Os outros dois scripts não apresentaram problema algum durante o teste. Chico Venancio (discussão) 22h04min de 22 de março de 2012 (UTC)[responder]
Para separar as edições por script:
Fiabilidade: [2] [3]; [4] [5]; [6].
Mediação: [7] [8] [9] [10] [11] [12]
O resto é pelo script de fusões. Chico Venancio (discussão) 22h24min de 22 de março de 2012 (UTC)[responder]
Vamos lá então fazer de forma ordeira. Começando só com o script das fusões, cerca de 20 edits, para vermos se tudo está bem, depois de concluirmos a análise, passamos ao script seguinte. Alchimista Fala comigo! 22h28min de 22 de março de 2012 (UTC)[responder]
Edits feitas, um pouco mais que 20. Para os outros scripts poderiam ser menos edits para analisarmos? Os outros casos são muito raros. Chico Venancio (discussão) 05h44min de 26 de março de 2012 (UTC)[responder]
Convém evitar a criação de redirects, neste momento está a criar alguns como em Wikipédia:Fusão/Central de fusões/Homicídio; Assassínio. Alchimista Fala comigo! 07h38min de 26 de março de 2012 (UTC)[responder]
Ué, mas era disso que estávamos falando ali em cima. Para não criar os redirects as predefinições de fusão teriam que ter 2 #ifexist, e me pareceu que seria mais razoável deixar um só e criar os redirects para o outro caso. Chico Venancio (discussão) 16h26min de 26 de março de 2012 (UTC)[responder]
Não tinha percebido que era essencial que existi-se a subpágina do redirect. Creio que a solução passaria por encontrar uma forma de a predefinição final ser algo como {{fusão}}, que com o título a originar ser algo como xxx/artigo1;artigo2, o redirect não seria necessário, e caso o segundo artigo tive-se {{fusão}}, ai o bot poderia consertar a marcação. Alchimista Fala comigo! 17h36min de 28 de março de 2012 (UTC)[responder]

O novo sistema para fusões está pronto. Pode ser visto aqui. Usei uma regex com grupos para encontrar os parâmetros passados à {{fusão}} e invertê-los quando necessário. Tanto para a forma que fica quando se usa {{fu}} quando para quem usar manualmente {{fusão}}. Chico Venancio (discussão) 21h12min de 4 de abril de 2012 (UTC)[responder]

Então vamos lá, cerca de 20 edits, a menos de 3 epm. Alchimista Fala comigo!
Rodei uma única vez e já foram as 20 edits. Chico Venancio (discussão) 20h51min de 7 de abril de 2012 (UTC)[responder]
Estou a verificar as edits. Nesta edição, o que aconteceu? Pelo que vejo, deveria aplicar a predefinição com 2 páginas, não as três, já foi corrigida a situação? Alchimista Fala comigo! 19h36min de 10 de abril de 2012 (UTC)[responder]
Tentei criar um sistema para casos com mais de 2 páginas, mas não consegui fazer a predefinição {{fusões a avaliar}} funcionar com três casos ou mais até agora, acho que vou ter que esperar o novo sistema de predefinições para fazer essa brincadeira. Até lá, já retirei o sistema de funcionamento e o bot já passou a compreender isso. Chico Venancio (discussão) 19h40min de 10 de abril de 2012 (UTC)[responder]
Até que {{fusões a avaliar}} e {{fusão}} consigam lidar com casos com mais de dois artigos o bot não fará nada ao encontrar subpáginas da central com mais de 2 artigos (além de avisar no log). Chico Venancio (discussão) 17h58min de 12 de abril de 2012 (UTC)[responder]
Ok, então nessa tarefa o bot já não apresenta problemas. Dei a flag, pelo que já podes trabalhar sem problemas nesa tarefa. Passamos então para a próxima? Analisamos então a central de mediação? Alchimista Fala comigo!

As edições que já foram feitas pelo script de mediação são:

[13] [14] [15] [16] [17] [18] [19] [20]

Sendo as duas últimas feitas agora. O número de edições é bem menor (1 por vez que o script é rodado, se houver ao menos uma alteração).

Por um lado é bem mais simples de analisar, por outro são menos casos em que o script é testado (e não penso em criar casso para mediar somente para testar o script :D). Chico Venancio (discussão) 20h54min de 12 de abril de 2012 (UTC)[responder]

Acabei de perceber que o bot está marcando as edições como menores, retirei isso das edições das centrais e nas PDs, mantendo como edição menor e com a flag de bot somente as edições nos artigos (de organização de predefinição). Chico Venancio (discussão) 21h00min de 12 de abril de 2012 (UTC)[responder]

9 dias já e nenhum caso novo de mediação para o bot colocar... Eu tenho rodado ele todo dia. Chico Venancio (discussão) 00h13min de 22 de abril de 2012 (UTC)[responder]

+ uma edição. [21] 9 ao total. Chico Venancio (discussão) 17h50min de 1 de maio de 2012 (UTC)[responder]

Esqueceram de fechar isso? Rjclaudio msg 23h09min de 20 de setembro de 2012 (UTC)[responder]

A primeira tarefa foi já aprovada, a segunda é que tem poucas edições. Chico, o bot tem rodado? Se sim, de quanto em quanto tempo? Alchimista Fala comigo! 17h46min de 4 de março de 2013 (UTC)[responder]