게시물 내용으로 인해 RSS 구독 오류 발생

Python Discourse에서 users(이후 "Help"로 이름이 변경됨) 카테고리에 대한 RSS 구독이 더 이상 작동하지 않는다는 것을 발견했습니다. 구독을 다시 설정하려고 했을 때, 구독 URL 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>Hello, I’m currently trying to follow a machine learning pipeline described by a paper. Essentially, I need to create an input matrix which is shaped N x KSDT sized. The paper describes this as: “Here k, ks, kd, and ksd are labels and not indices, and all terms are understood to be matrices of the same N x KSQT size, so e.g. Xk is not an N x K sized matrix, but the full-size N x KSQT matrix with N x k unique values replicated KSQ times”.</p>\n<p>Right now, I have three following np.arrays:<br>\nbias_block: (348, 2, 151), bias_contrast: (348, 5, 151), and bias_decision: (348, 2, 151).<br>\nMy understanding is that in order to combine these three arrays, I would need a final size of (348, 20, 20, 20, 151). However, I’m really struggling on how to combine these arrays. Could someone please help with this, thanks a lot.</p>"

그 문자열에 무엇이 잘못된지 잘 모르겠습니다… N x KSDT에는 아무것도 숨겨져 있는 것 같지 않습니다.

(참고로 이제 해당 게시글이 최신 목록에서 사라졌고, 부수적으로 RSS도 다시 작동하고 있습니다. 하지만 이 문제를 반드시 해결하고 싶습니다.)

이 오류가 아래 코드에서 발생하는 것으로 추정합니다:

1개의 좋아요

오늘早些时候 그 게시물을 확인했습니다. 그 안에 ɡ (&#x261;)과 비슷한 유니코드 16진 코드가 있었습니다. 다만 정확한 코드는 아닙니다. 오늘 아침 게시물 원본(https://discuss.python.org/posts/121311.json)에 표시되고 있었습니다. 그 이후로 수정된 것 같습니다.

4개의 좋아요

잘못된 문자는 � 또는 입니다

3개의 좋아요

첫 번째 발생 위치는 문제가 없지만, 두 번째와 세 번째 위치에는 제 첫 번째 게시물에서처럼 0x02 바이트가 포함되어 있습니다(Firefox로 이 URL에서 저장한 파일을 Python으로 바이트 단위로 읽었을 때). validator.w3.org가 첫 번째 0x02를 해당 줄에서 찾을 수 있는 충분한 맥락을 제공해 주었습니다.

U+002610은 어떤 것이 이를 대체하고 있는 박스 기호일 뿐입니다(RSS에서는 그렇지 않지만요).

구독을 정상적으로 작동시키기 위해서는 게시물이 복구되어야 한다고 생각했기 때문에 복구를 요청했습니다. 도움이 된다면 저장한 바이트를 보내 드릴 수 있습니다.

1개의 좋아요

RSS 2.0 사양에 따르면, 피드는 XML 1.0과 호환되어야 합니다. 그리고 XML 1.0 사양에 따르면, 무효인 여러 제어 문자가 존재합니다.

아래 PR은 이를 해결하기 위한 첫 번째 시도입니다:

3개의 좋아요

이 주제는 39시간 후 자동으로 닫혔습니다. 더 이상 새 답글을 작성할 수 없습니다.