Подписка RSS нарушена из-за содержимого поста

На Python Discourse я заметил, что моя RSS-подписка на категорию users (переименованную в «Help») перестала работать. При попытке восстановить её ссылка https://discuss.python.org/c/users/7.rss возвращает некорректный контент, который моя программа для чтения (Thunderbird) не может загрузить. Проверка валидации в W3C не проходит:

Поскольку проверка не проходит, я предполагаю, что я не единственный пострадавший.

Проблема, похоже, заключается в неожиданном символе в сообщении https://discuss.python.org/t/beginner-help-with-concatenating-arrays/36226. В ленте проблемная подстрока отображается как b'N \x02x KSQT' (два вхождения).

Конечно, это не вина пользователя, а проблема Discourse, который пропустил такой контент, и долгосрочное решение лежит на вашей стороне.

Один из администраторов (или, по крайней мере, один из основных разработчиков CPython) предложил мне сообщить об этом здесь.

3 лайка

Это такой странный случай:

PrettyText.format_for_email(p.cooked, p)
=> "<p>Здравствуйте, я в настоящее время пытаюсь следовать конвейеру машинного обучения, описанному в статье. По сути, мне нужно создать входную матрицу размером N x KSDT. В статье это описывается так: «Здесь k, ks, kd и ksd — это метки, а не индексы, и все термины понимаются как матрицы одинакового размера N x KSQT, так что, например, Xk — это не матрица размером N x K, а полная матрица размером N x KSQT с N x k уникальными значениями, повторенными KSQ раз».</p>\n<p>Сейчас у меня есть три следующих np.arrays:<br>\nbias_block: (348, 2, 151), bias_contrast: (348, 5, 151) и bias_decision: (348, 2, 151).<br>\nЯ понимаю, что для объединения этих трех массивов мне нужен конечный размер (348, 20, 20, 20, 151). Однако я действительно не могу понять, как объединить эти массивы. Не могли бы вы помочь с этим, большое спасибо.</p>"

Я не вижу, что не так в этой строке… N x KSDT, похоже, не скрывает ничего подозрительного.

(обратите внимание, что пост теперь исчез из раздела «последние», поэтому RSS снова работает как побочный эффект, но я, безусловно, хотел бы исправить это.

Я предполагаю, что это строка, из которой всё начинается:

1 лайк

Я смотрел этот пост сегодня утром. В нём был юникод-код в шестнадцатеричном формате, что-то вроде &#x2610; (&#x2610;). Это не тот самый код, однако. Он отображался в сыром содержимом поста сегодня утром (https://discuss.python.org/posts/121311.json). Похоже, его с тех пор отредактировали.

4 лайка

Неверный символ —  или 

3 лайка

Первое вхождение корректно, но второе и третье содержат байт 0x02 (когда я сохраняю страницу по этой ссылке через Firefox и читаю файл как байты с помощью Python), как в моём первом сообщении. validator.w3.org предоставил достаточно контекста, чтобы найти первое вхождение 0x02 в строке.

U+002610 — это просто символ квадрата, который подставляется вместо чего-то (но не в RSS).

Я попросил исправить пост, так как не вижу возможности заставить мою подписку работать без этого. Если это поможет, я могу отправить вам сохранённые байты.

1 лайк

Согласно спецификации RSS 2.0, канал должен соответствовать стандарту XML 1.0. А согласно спецификации XML 1.0, несколько управляющих символов являются недопустимыми.

Ниже представлен первый шаг по решению этой проблемы:

3 лайка

Эта тема была автоматически закрыта через 39 часов. Новые ответы больше не принимаются.