| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
… bytes (pythonGH-155239) "python -m pydoc -w" and the pydoc HTTP server failed with UnicodeEncodeError. The file URL is now created with urllib.request.pathname2url(), which percent-encodes the path using the filesystem encoding, and characters unencodable in the generated UTF-8 page are escaped with backslashes. (cherry picked from commit c8ca336) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Windows is failing with UnicodeEncodeError: ======================================================================
ERROR: test_html_doc_undecodable_path (test.test_pydoc.test_pydoc.PydocDocTest.test_html_doc_undecodable_path)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\a\cpython\cpython\Lib\test\test_pydoc\test_pydoc.py", line 1022, in test_html_doc_undecodable_path
doc = pydoc.HTMLDoc().docmodule(mod)
File "D:\a\cpython\cpython\Lib\pydoc.py", line 849, in docmodule
url = urllib.request.pathname2url(path)
File "D:\a\cpython\cpython\Lib\nturl2path.py", line 68, in pathname2url
tail = urllib.parse.quote(comp[1])
File "D:\a\cpython\cpython\Lib\urllib\parse.py", line 923, in quote
string = string.encode(encoding, errors)
UnicodeEncodeError: 'utf-8' codec can't encode character '\udd00' in position 65: surrogates not allowed
|
Sorry, something went wrong.
|
CC @serhiy-storchaka (see Hugo's comment above). |
Sorry, something went wrong.
|
This is a little complicated. pathname2url() was fixed in #85168 only on Posix. Then #125866 deprecated nturl2path and stopped using nturl2path.pathname2url() in favor of general implementation in 3.14. This is why the test was passed on 3.14+. Applying the similar fix on nturl2path.pathname2url() and backporting it will fix the test. |
Sorry, something went wrong.
|
nturl2path.pathname2url() was fixed in #156713. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
"python -m pydoc -w" and the pydoc HTTP server failed with
UnicodeEncodeError. The file URL is now created with
urllib.request.pathname2url(), which percent-encodes the path using the
filesystem encoding, and characters unencodable in the generated UTF-8
page are escaped with backslashes.
(cherry picked from commit c8ca336)
Co-authored-by: Serhiy Storchaka storchaka@gmail.com
Co-authored-by: Claude Opus 5 (1M context) noreply@anthropic.com