Adiciona suporte aos parâmetros verify, issn e stop ao longo do pipeline de coleta de artigos, issues, journals#1404
Open
robertatakenaka wants to merge 20 commits intoscieloorg:mainfrom
Open
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
O que esse PR faz?
Adiciona suporte aos parâmetros
verify,issnestopao longo do pipeline de coleta de artigos, issues, journals e preprints. Com isso:verify: permite habilitar ou desabilitar a verificação SSL nas requisições HTTP, substituindo os valoresverify=Falsehardcoded que existiam emAMHarvester,OPACHarvestere nas funções de harvest de issues.issn: permite filtrar a coleta por journal específico em todos os harvesters e tasks.stop: permite limitar o número máximo de itens processados em uma coleta, útil para testes e execuções parciais.Além disso, corrige um
AttributeErrorpotencial emtask_process_article_pipelineao acessarpid_provider_xml.idquandopid_provider_xmléNone.Onde a revisão poderia começar?
Começar por
core/utils/harvesters.py, que é a base da cadeia. É onde os três parâmetros são introduzidos emAMHarvestereOPACHarvester. A partir daí, seguir a ordem de dependência:core/utils/harvesters.pyjournal/sources/article_meta.pyissue/articlemeta/loader.pyarticle/sources/preprint.pyarticle/controller.pyissue/tasks.pyejournal/tasks.pyarticle/tasks.pybigbang/tasks_scheduler.pyComo este poderia ser testado manualmente?
Teste de
stop— limitar coleta a 5 artigos via task:Verificar nos logs que a mensagem
"Reached stop limit of 5 articles"aparece e que exatamente 5 itens foram despachados.Teste de
issn— filtrar coleta por journal específico:Verificar que todos os artigos despachados pertencem ao journal com o ISSN informado.
Teste de
verify=False— útil em ambientes com certificados SSL não reconhecidos:Verificar que a coleta ocorre sem erros de SSL.
Teste de preprints com
stop:Algum cenário de contexto que queira dar?
Os harvesters
AMHarvestereOPACHarvestertinhamverify=Falsefixo no código, o que representa um risco de segurança em produção e impedia o controle externo desse comportamento. Ao mesmo tempo, a ausência dos parâmetrosissnestoptornava inviável executar coletas parciais para fins de teste ou reprocessamento pontual de um journal, obrigando sempre a percorrer toda a coleção.Este PR torna o comportamento configurável em todos os níveis da cadeia — desde os harvesters até o agendador de tarefas — sem quebrar a interface existente, pois todos os novos parâmetros possuem valores default que preservam o comportamento anterior (
verify=True,issn=None,stop=None).Screenshots
Não aplicável — alterações restritas à camada de backend/pipeline.
Quais são tickets relevantes?
Informar a issue correspondente.
Referências