RSS購読が投稿コンテンツによって壊れる

Python Discourseで、「Users」(「ヘルプ」に改名)カテゴリのRSS購読が機能しなくなったことに気づきました。再設定しようとすると、購読 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'(2回発生)として表示されます。

もちろん、それはユーザーのせいではなく、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 k の一意の値が KSQ 回繰り返された完全なサイズの N x KSQT 行列です」。</p>\n<p>現在、次の 3 つの np.array があります。<br>\nbias_block: (348, 2, 151)、bias_contrast: (348, 5, 151)、bias_decision: (348, 2, 151)。<br>\nこれら 3 つの配列を結合するには、最終的なサイズが (348, 20, 20, 20, 151) になる必要があると理解していますが、配列の結合方法に本当に苦労しています。どなたか助けていただけますか。よろしくお願いします。</p>"

この文字列のどこが間違っているのかわかりません… N x KSDT には何も隠れていないようです。

(注:投稿は最新から外れたため、RSS はサイドエフェクトとして機能していますが、これを修正したいと思っています。

これが原因となっている行だと仮定します。

「いいね!」 1

今日早くに投稿を見ました。それには、\u0026#x2610;(\u0026#x2610;)のようなユニコードの16進コードが含まれていました。ただし、これは正確なコードではありません。今朝、投稿の生のコンテンツ(https://discuss.python.org/posts/121311.json)に表示されていました。それ以降編集されたようです。

「いいね!」 4

不正な文字は & # x2; または \u0002 です

「いいね!」 3

最初の出現は問題ありませんが、2番目と3番目の文字列には0x02バイトが含まれています(FirefoxでこのURLからファイルを保存し、Pythonでバイトとして読み込んだ場合)。最初の投稿で述べた通りです。validator.w3.orgは、行内の最初の0x02バイトを見つけるのに十分なコンテキストを与えてくれました。

U+002610は、何かがそれに置き換えている単なるボックス記号です(ただし、RSSではそうではありません)。

購読が機能しないように思えたため、投稿の修正を依頼しました。必要であれば、保存したバイトデータを送信できます。

「いいね!」 1

RSS 2.0 仕様によると、フィードは XML 1.0 に準拠している必要があります。また、XML 1.0 仕様によると、無効な制御文字がいくつか存在します。

以下のプルリクエストは、この問題に対処するための最初の試みです。

「いいね!」 3

このトピックは39時間後に自動的に閉じられました。返信はもうできません。