GH-85168: Use filesystem encoding when converting to/from file URIs#126852
GH-85168: Use filesystem encoding when converting to/from file URIs#126852barneygale merged 5 commits intopython:mainfrom
file URIs#126852Conversation
…` URIs Adjust `urllib.request.url2pathname()` and `pathname2url()` to use the filesystem encoding when quoting and unquoting file URIs, rather than forcing use of UTF-8. No changes are needed in the `nturl2path` module because Windows always uses UTF-8, per PEP 529.
|
The freedesktop file URI spec is a useful reference here:
Also:
|
serhiy-storchaka
left a comment
There was a problem hiding this comment.
LGTM in general. But we should support URIs containing not quoted non-ASCII characters.
|
Thanks for the review - I've made the changes you suggested |
serhiy-storchaka
left a comment
There was a problem hiding this comment.
LGTM.
You can also use fsdecode(TESTFN_UNDECODABLE) and TESTFN_UNENCODABLE in some tests if you wish.
|
Thanks @barneygale for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12, 3.13. |
…` URIs (pythonGH-126852) Adjust `urllib.request.url2pathname()` and `pathname2url()` to use the filesystem encoding when quoting and unquoting file URIs, rather than forcing use of UTF-8. No changes are needed in the `nturl2path` module because Windows always uses UTF-8, per PEP 529. (cherry picked from commit c9b399f) Co-authored-by: Barney Gale <[email protected]>
…` URIs (pythonGH-126852) Adjust `urllib.request.url2pathname()` and `pathname2url()` to use the filesystem encoding when quoting and unquoting file URIs, rather than forcing use of UTF-8. No changes are needed in the `nturl2path` module because Windows always uses UTF-8, per PEP 529. (cherry picked from commit c9b399f) Co-authored-by: Barney Gale <[email protected]>
|
GH-127039 is a backport of this pull request to the 3.13 branch. |
|
GH-127040 is a backport of this pull request to the 3.12 branch. |
…e` URIs (GH-126852) (#127040) GH-85168: Use filesystem encoding when converting to/from `file` URIs (GH-126852) Adjust `urllib.request.url2pathname()` and `pathname2url()` to use the filesystem encoding when quoting and unquoting file URIs, rather than forcing use of UTF-8. No changes are needed in the `nturl2path` module because Windows always uses UTF-8, per PEP 529. (cherry picked from commit c9b399f) Co-authored-by: Barney Gale <[email protected]>
…e` URIs (GH-126852) (#127039) GH-85168: Use filesystem encoding when converting to/from `file` URIs (GH-126852) Adjust `urllib.request.url2pathname()` and `pathname2url()` to use the filesystem encoding when quoting and unquoting file URIs, rather than forcing use of UTF-8. No changes are needed in the `nturl2path` module because Windows always uses UTF-8, per PEP 529. (cherry picked from commit c9b399f) Co-authored-by: Barney Gale <[email protected]>
…` URIs (python#126852) Adjust `urllib.request.url2pathname()` and `pathname2url()` to use the filesystem encoding when quoting and unquoting file URIs, rather than forcing use of UTF-8. No changes are needed in the `nturl2path` module because Windows always uses UTF-8, per PEP 529.
Adjust
urllib.request.url2pathname()andpathname2url()to use the filesystem encoding when quoting and unquoting file URIs, rather than forcing use of UTF-8.No changes are needed in the
nturl2pathmodule because Windows always uses UTF-8, per PEP 529.