Assinatura RSS quebrada pelo conteúdo do post

No Python Discourse, notei que minha assinatura RSS para a categoria users (renomeada para “Ajuda”) parou de funcionar. Ao tentar restabelecê-la, a assinatura https://discuss.python.org/c/users/7.rss resulta em conteúdo inválido que meu leitor (Thunderbird) não carrega. Falha na validação no W3C:

Como essa verificação falha, presumo que não sou o único afetado.

O problema parece ser um caractere inesperado na postagem https://discuss.python.org/t/beginner-help-with-concatenating-arrays/36226. No feed, a substring ofensiva aparece como b'N \\x02x KSQT' (duas ocorrências).

Não é culpa do usuário, é claro, mas sim do Discourse por permitir que isso passe, e a solução a longo prazo está com vocês.

Um administrador de lá (ou pelo menos um desenvolvedor principal do CPython) sugeriu que eu reportasse aqui.

3 curtidas

Este é um caso muito estranho:

PrettyText.format_for_email(p.cooked, p)
=> "<p>Olá, estou atualmente tentando seguir um pipeline de aprendizado de máquina descrito em um artigo. Essencialmente, preciso criar uma matriz de entrada com o tamanho N x KSDT. O artigo descreve isso como: “Aqui k, ks, kd e ksd são rótulos e não índices, e todos os termos são entendidos como matrizes do mesmo tamanho N x KSQT, então, por exemplo, Xk não é uma matriz de tamanho N x K, mas a matriz completa de tamanho N x KSQT com N x k valores únicos replicados KSQ vezes”.</p>\n<p>No momento, tenho três np.arrays a seguir:<br>\n<br>\nbias_block: (348, 2, 151), bias_contrast: (348, 5, 151) e bias_decision: (348, 2, 151).<br>\n<br>\nMinha compreensão é que, para combinar esses três arrays, eu precisaria de um tamanho final de (348, 20, 20, 20, 151). No entanto, estou realmente com dificuldades em como combinar esses arrays. Alguém poderia me ajudar com isso, muito obrigado.</p>"

Não estou vendo o que está errado com essa string… o N x KSDT não parece ter nada escondido ali.

(note que a postagem saiu de “latest”, então o rss está de volta e funcionando como um efeito colateral, mas eu certamente gostaria de consertar isso.

Estou assumindo que esta é a linha de onde isso se origina:

1 curtida

Olhei a postagem mais cedo hoje. Havia um código hexadecimal Unicode nela que era algo como \u0026#x2610; (\u0026#x2610). Esse não é o código exato, porém. Ele estava aparecendo no conteúdo bruto da postagem esta manhã (https://discuss.python.org/posts/121311.json). Parece ter sido editado desde então.

4 curtidas

O caractere defeituoso é & # x2; ou \u0002

3 curtidas

A primeira ocorrência está ok, mas a segunda e a terceira contêm um byte 0x02 (quando salvo desta URL usando o Firefox e leio o arquivo como bytes usando Python), como no meu primeiro post. validator.w3.org me deu contexto suficiente para localizar o primeiro 0x02 na linha.

U+002610 é apenas o símbolo da caixa que algo está substituindo (mas não no RSS).

Pedi que o post fosse reparado, pois não via como conseguir minha assinatura funcionando sem isso. Posso enviar meus bytes salvos se ajudar.

1 curtida

Conforme a especificação do RSS 2.0, o feed deve ser compatível com XML 1.0. E conforme a especificação do XML 1.0, existem vários caracteres de controle que são inválidos.

O PR abaixo é uma primeira tentativa de resolver isso:

3 curtidas

Este tópico foi automaticamente fechado após 39 horas. Novas respostas não são mais permitidas.