Wikipédia:Robôs/Pedidos de aprovação/DiegoBot
pedido • edições • contador • logs • block user • block log • flag log • flag bot • SUL util
Pedidos de tarefas: 1, 2, 3
Operator: Diego Queiroz
Automatic or manually assisted: Automático
Programming language(s): Python (pywikibot)
Function summary: Substituir a predefinição {{Ref-livro}}
por {{Citar livro}}
Edit period(s) (e.g. continuous, daily, one time run): Uma vez
Edit rate requested: 10 edits por minuto
Already has a bot flag (Y/N): N
Function details:
Como foi brevemente discutido na Esplanada, as predefinições {{Ref-livro}}
e {{Citar livro}}
estão com a fusão pendente há algum tempo. Analisando melhor elas, vi que o melhor a se fazer é aposentar a predefinição {{Ref-livro}}
pois, além de mal documentada, ela não engloba as funcionalidades de {{Citar livro}}
. Os campos das predefinições são basicamente os mesmos, então a transição será simples. As seguintes modificações serão feitas nos campos de {{Ref-livro}}
:
outros
= Função não é clara. Será mantido como está.publicação
= Função não é clara. Será mantido como está.data
= Não existe equivalente em{{Citar livro}}
. Será mantido como está.mês
= Não existe equivalente em{{Citar livro}}
. Será mantido como está.linkautor
= Será substituído porautorlink
.URLcapítulo
= Será substituído porcapítulourl
.URL
= Será substituído porurl
.cita
= Será substituído pornotas
.id
= Será substituído porisbn
,issn
ouoclc
.
--Diego Queiroz (discussão) 02h41min de 21 de novembro de 2014 (UTC)
Código executado:
python replace.py -transcludes:"Ref-livro" -namespace:0 -regex -dotall \
"({{[Rr]ef-livro[^{}]*?){{ISBN\s*?\|\s*?([^{}]*?)}}([^{}]*?}})" "\1\2\3" \
"({{[Rr]ef-livro[^{}]*?\|\s*id\s*=\s*)ISBN[\s:]*([^{}]*?}})" "\1\2" \
"({{[Rr]ef-livro[^{}]*?\|\s*)id(\s*=\s*)ISSN[\s:]*([^{}]*?}})" "\1issn\2\3" \
"({{[Rr]ef-livro[^{}]*?\|\s*)id(\s*=\s*){{OCLC\s*?\|\s*?([^{}]*?)}}([^{}]*?}})" "\1oclc\2\3\4" \
"({{[Rr]ef-livro[^{}]*?\|\s*)id(\s*?=[^{}]*?}})" "\1isbn\2" \
"{{[Rr]ef-livro([^{}]*?)}}" "{{Citar livro\1}}" \
"({{Citar livro[^{}]*?\|\s*)linkautor(\s*?=[^{}]*?}})" "\1autorlink\2" \
"({{Citar livro[^{}]*?\|\s*)URLcapítulo(\s*?=[^{}]*?}})" "\1capítulourl\2" \
"({{Citar livro[^{}]*?\|\s*)URL(\s*?=[^{}]*?}})" "\1url\2" \
"({{Citar livro[^{}]*?\|\s*)cita(\s*?=[^{}]*?}})" "\1notas\2" \
-summary:"[[WP:Bot|Bot]]: Substituindo [[Predefinição:Ref-livro]] (depreciada) por [[Predefinição:Citar livro]]."
--Diego Queiroz (discussão) 18h46min de 25 de novembro de 2014 (UTC)
Discussion
[editar código-fonte]Discutimos já alguns detalhes via chat. Pode iniciar os testes, faça 50 edições a 3 edições por minuto (-putthrottle:20) e aguarde. Danilo.mac(discussão) 19h39min de 24 de novembro de 2014 (UTC)
Como mostrado no diff as ações do robô estão de acordo com o planejado. --Zoldyick (Discussão) 21h32min de 24 de novembro de 2014 (UTC)
- Verifiquei todas as edições, o robô está funcionando corretamente, porém tem dois erros que encontrei relacionados aos parâmetros das duas predefinições. Nesta edição a ref-livro tinha o parâmetro "apelido" como alternativa para sobrenome, a citar web não tem o mesmo parâmetros e ficou sem mostrar o sobrenome do autor. E outro problema, que dá para ver por exemplo nesta edição comparando com a edição anterior a do robô, é que na ref-livro o parâmetro "id" é usado como código ISBN e na citar web o mesmo parâmetro existe mas é usado como "Código arbitrário", então teria que trocar id por isbn antes de trocar o nome da predefinição para não trocar o id de outras citar livro que já estejam na página. Após as correções faça mais 20 edições a 3 por minuto. Danilo.mac(discussão) 23h26min de 24 de novembro de 2014 (UTC)
- @Danilo.mac: Na verdade, não são necessariamente erros. A
{{Ref-livro}}
era mal documentada e, por isso, vai ocorrer de uma coisa ou outra ficar estranho mesmo. Quanto aos casos citados:- Nem a
{{Ref-livro}}
nem a{{Citar livro}}
possui o parâmetroapelido
, ou seja, antes da alteração também não devia funcionar. Quem colocou isso aí que merecia uns tapas. Sugere algo? - Na verdade, não sei se dá pra dizer com segurança como o parâmetro
id
era utilizado. Existe uma indicação que era o ISBN na{{Ref-livro}}
, mas não sei o quanto isso era seguido. Foi de propósito que eu manti oid
para ser o código arbitrário da{{Citar livro}}
. Acha melhor mudar paraisbn
?
- Nem a
- --Diego Queiroz (discussão) 23h58min de 24 de novembro de 2014 (UTC)
- Ok quanto ao apelido, falha minha, não vi como estava na ref-livro. Sim, melhor mudar id para isbn porque a ref-livro faz um link ISBN com o código em id. Danilo.mac(discussão) 00h32min de 25 de novembro de 2014 (UTC)
Feito novo teste. Durante o teste identifiquei um erro que comentei com você no Chat. Fiz os ajustes necessários, ajustei os erros, e executei um novo teste. Creio que agora esteja ok. --Diego Queiroz (discussão) 04h01min de 25 de novembro de 2014 (UTC)
Aprovo, agora está tudo certo. Coloque o estatuto de robô e pode rodar, porém em vez de 10 edições por minuto como pediu rode a 6 edições por minuto, que é a velocidade máxima permitida pela política de robôs e é também a velocidade padrão quando não se coloca -putthrottle. Danilo.mac(discussão) 05h04min de 25 de novembro de 2014 (UTC)
- Ok quanto ao apelido, falha minha, não vi como estava na ref-livro. Sim, melhor mudar id para isbn porque a ref-livro faz um link ISBN com o código em id. Danilo.mac(discussão) 00h32min de 25 de novembro de 2014 (UTC)
- @Danilo.mac: Na verdade, não são necessariamente erros. A
@Danilo.mac: Com a execução do bot, notei que há casos em que existe o código | id = ISSN 0000-0000
, neses casos em particular, configurei o id
para se tornar o campo issn
ao invés de isbn
. --Diego Queiroz (discussão) 14h10min de 25 de novembro de 2014 (UTC)
- Ok, bom saber que está atento e fazendo alterações quando necessário, essa atenção é muito importante quando se opera robôs. Danilo.mac(discussão) 15h10min de 25 de novembro de 2014 (UTC)
- Na verdade, é terapeutico ficar olhando o robô enquanto tá executando. :) Encontrei mais uma possibilidade que envolve o
{{OCLC}}
. --Diego Queiroz (discussão) 18h04min de 25 de novembro de 2014 (UTC)
- Na verdade, é terapeutico ficar olhando o robô enquanto tá executando. :) Encontrei mais uma possibilidade que envolve o
A tarefa do bot foi concluída. Adicionei o código executado para referência futura. --Diego Queiroz (discussão) 18h46min de 25 de novembro de 2014 (UTC)