Corrige o valor de pkg_names / pkg_name_list usando pkg_name_variations - #1471
Merged
pitangainnovare merged 5 commits intoSep 1, 2026
Merged
Conversation
Delega a obtenção das variações de pkg_name para `xml_with_pre.pkg_name_variations`, que já concentra os nomes depreciados/alternativos do pacote. Mantém o cálculo local como fallback, capturando AttributeError, para preservar a compatibilidade com versões de packtools que ainda não expõem esse atributo.
Passa a obter os dados de entrada por `fix_xml_with_pre_data(xml_with_pre)` no lugar do acesso direto a `xml_with_pre.data`, tanto no registro do `input_data` quanto na resposta de consulta. Importa a função a partir de `pid_provider.query_params`, mantendo a normalização de formato concentrada nesse módulo.
Altera o valor padrão de `RUN_ASYNC` de 0 para 1 em `config/settings/base.py`, de modo que o comportamento assíncrono passe a valer sem depender de configuração explícita no ambiente.
Substitui o IP fixo `192.168.1.98` por `core.local` em `ALLOWED_HOSTS`, evitando um endereço vinculado a uma máquina específica no ambiente de desenvolvimento.
pitangainnovare
requested changes
Sep 1, 2026
Filter falsy package names and serialize response data as a deterministic list while preserving set semantics for queries. Cover the authoritative packtools source and the compatibility fallback.
pitangainnovare
self-requested a review
September 1, 2026 17:20
pitangainnovare
approved these changes
Sep 1, 2026
pitangainnovare
left a comment
Contributor
There was a problem hiding this comment.
Todos os pontos foram corrigidos.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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?
Fale sobre o propósito do pull request, como por exemplo: quais problemas ele soluciona ou quais features ele adiciona.
Concentra em
pid_providera adaptação ao formato de dados exposto pelo packtools, sem alterar a versão fixada no Core.pkg_namepassam a ser obtidas dexml_with_pre.pkg_name_variations, que já concentra os nomes depreciados/alternativos do pacote. O cálculo local é mantido como fallback (captura deAttributeError), preservando a compatibilidade com versões de packtools que ainda não expõem o atributo.response["input_data"]passam a ser normalizados porfix_xml_with_pre_data(xml_with_pre), no lugar do acesso direto axml_with_pre.data, tanto no fluxo de registro quanto no de consulta.Inclui ainda dois ajustes de configuração de ambiente:
RUN_ASYNCpassa a ter valor padrão1, tornando a execução assíncrona o comportamento padrão sem depender de definição explícita da variável de ambiente.ALLOWED_HOSTSdo ambiente local, o IP fixo192.168.1.98é substituído porcore.local, removendo um endereço vinculado a uma máquina específica.Onde a revisão poderia começar?
Indique o caminho do arquivo e o arquivo onde o revisor deve iniciar a leitura do código.
pid_provider/query_params.py— método que monta as variações depkg_namee funçãofix_xml_with_pre_data. Em seguida,pid_provider/models.py(usos defix_xml_with_pre_datano registro e na consulta). Por último,config/settings/base.pyeconfig/settings/local.py.Como este poderia ser testado manualmente?
Estabeleça os passos necessários para que a funcionalidade seja testada manualmente pelo revisor.
pkg_name_variations, registrar e consultar um XML pelo pid_provider e conferir que as variações de nome (incluindo nomes depreciados) são consideradas na busca.response["input_data"]é gerado sem erro nos dois fluxos (registro e consulta) e que o conteúdo está normalizado.RUN_ASYNCe confirmar que as tarefas são enfileiradas de forma assíncrona.core.locale confirmar que a requisição não é rejeitada por host inválido.Algum cenário de contexto que queira dar?
Indique um contexto onde as modificações se fazem necessárias ou passe informações que contextualizam o revisor a fim de facilitar o entendimento da funcionalidade.
O Core permanece fixado em packtools 4.16.11 para evitar impacto mais amplo nos requirements. A compatibilidade com o formato de dados da versão 4.17.1 é absorvida no próprio código do
pid_provider(fix_get_article_data,fix_get_data_to_comparee agorafix_xml_with_pre_data), de modo que a atualização do pacote possa ocorrer depois, sem retrabalho. A delegação das variações depkg_namesegue a mesma linha: usar a fonte canônica do pacote quando ela existir, em vez de reconstruí-la localmente.Screenshots
Quando aplicável e se fizer possível, adicione screenshots que remetem à situação gráfica do problema que o pull request resolve.
Não aplicável — as mudanças são de backend e configuração, sem efeito visual.
Quais são os tickets relevantes?
Indique uma issue à qual o pull request faz relacionamento.
Referências
Indique as referências utilizadas para a elaboração do pull request.
pkg_name_variationsdeXMLWithPre(packtools).Segurança da informação (NSI.04)
Este PR manipula dados sensíveis ou pessoais (LGPD)?
Este PR altera autenticação, autorização, controle de acesso ou gerenciamento de sessão?
Este PR introduz, atualiza ou remove dependências de terceiros?
Este PR foi validado pelo pipeline de segurança (SonarQube / Trivy)?
Este PR concatena, monta ou executa comandos SQL, HTML ou JavaScript a partir de entrada externa?
Este PR expõe novos endpoints, telas ou serviços?
ALLOWED_HOSTSafeta apenas o settings de desenvolvimento local, não expondo novos serviços.Algum segredo, senha, chave ou token está sendo adicionado ao código-fonte?