You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ReferenceValidation.validate_comment_is_required_or_not() (packtools/sps/validation/references.py:204) não
passa message_text/message_params para build_response(). Como resultado, o campo message (usado pelo
spsvalidator para exibir a linha principal do problema) cai no fallback padrão de build_response - "Got {obtained}, expected {expected}" - que mostra apenas os trechos de XML envolvidos (ex.: <comment></comment><ext-link .../>), sem indicar a qual referência (@id) esse trecho pertence.
A informação do @id da referência já está disponível em self.info (propriedade que monta f'{ref} ({publication_type})' a partir de self.data.get("ref_id")), e é usada hoje apenas como prefixo do
campo advice/adv_text (texto de "como corrigir"), não do campo message/msg_text (texto do "o que está
errado").
Quando um documento tem várias referências com o mesmo tipo de problema de <comment>, não é possível
localizar no XML qual <ref id="..."> corresponde a qual ocorrência reportada.
Passos para reproduzir o problema
Validar um XML com duas ou mais referências que disparem validate_comment_is_required_or_not (ex.: <ext-link> sem <comment> envolvendo texto anterior).
Observar que a mensagem principal de cada ocorrência mostra apenas o XML esperado/obtido, sem o @id da
referência.
Comportamento esperado
Incluir o @id (ou self.info) também no message_text/message_params passado a build_response(), para
que a mensagem principal (não só o advice) identifique a referência com o problema.
Classificação (esforço / risco / relevância)
Esforço: Baixo - adicionar message_text/message_params reaproveitando self.info, já calculado.
Risco: Baixo - é aditivo ao conteúdo da mensagem, não altera a lógica de validação (is_valid/ error_level).
Relevância: Baixa - não é falso positivo/negativo, é uma melhoria de usabilidade/depuração.
Descrição do problema
ReferenceValidation.validate_comment_is_required_or_not()(packtools/sps/validation/references.py:204) nãopassa
message_text/message_paramsparabuild_response(). Como resultado, o campomessage(usado pelospsvalidator para exibir a linha principal do problema) cai no fallback padrão de
build_response-"Got {obtained}, expected {expected}"- que mostra apenas os trechos de XML envolvidos (ex.:<comment></comment><ext-link .../>), sem indicar a qual referência (@id) esse trecho pertence.A informação do
@idda referência já está disponível emself.info(propriedade que montaf'{ref} ({publication_type})'a partir deself.data.get("ref_id")), e é usada hoje apenas como prefixo docampo
advice/adv_text(texto de "como corrigir"), não do campomessage/msg_text(texto do "o que estáerrado").
Quando um documento tem várias referências com o mesmo tipo de problema de
<comment>, não é possívellocalizar no XML qual
<ref id="...">corresponde a qual ocorrência reportada.Passos para reproduzir o problema
validate_comment_is_required_or_not(ex.:<ext-link>sem<comment>envolvendo texto anterior).@iddareferência.
Comportamento esperado
Incluir o
@id(ouself.info) também nomessage_text/message_paramspassado abuild_response(), paraque a mensagem principal (não só o advice) identifique a referência com o problema.
Classificação (esforço / risco / relevância)
message_text/message_paramsreaproveitandoself.info, já calculado.is_valid/error_level).Referências
packtools/sps/validation/references.py(
ReferenceValidation.validate_comment_is_required_or_not,ReferenceValidation.info),packtools/sps/validation/utils.py(build_response)