Skip to content

GH-103525: Improve exception message from pathlib.PurePath() - #103526

Merged
barneygale merged 3 commits into
python:mainfrom
barneygale:gh-103525-purepath-mix-str-bytes-typeerror-message
May 2, 2023
Merged

GH-103525: Improve exception message from pathlib.PurePath()#103526
barneygale merged 3 commits into
python:mainfrom
barneygale:gh-103525-purepath-mix-str-bytes-typeerror-message

Conversation

@barneygale

@barneygalebarneygale commented Apr 13, 2023

Copy link
Copy Markdown
Contributor

Check that arguments are strings before calling os.path.join().

Also improve performance of PurePath(PurePath(...)) while we're in the area: we now use the unnormalized string path of path arguments.

Check that arguments are strings before calling `os.path.join()`.
Also improve performance of `PurePath(PurePath(...))` while we're in the
area: we now use the *unnormalized* string path of such arguments.
Comment threadLib/pathlib.py Outdated
barneygaleand others added 2 commits April 13, 2023 20:16
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
@barneygale

Copy link
Copy Markdown
ContributorAuthor

Hey @terryjreedy, do you think this is ready to land? Thank you!

@terryjreedy

Copy link
Copy Markdown
Member

Assuming that the deletions of '._raw_path' in the dunders is correct (I skipped over these), yes.

@barneygale
barneygale merged commit 8611e7b into python:mainMay 2, 2023
carljm added a commit to carljm/cpython that referenced this pull request May 2, 2023
* main:
pythongh-103822: [Calendar] change return value to enum for day and month APIs (pythonGH-103827)
pythongh-65022: Fix description of tuple return value in copyreg (python#103892)
pythonGH-103525: Improve exception message from `pathlib.PurePath()` (pythonGH-103526)
pythongh-84436: Add integration C API tests for immortal objects (pythongh-103962)
pythongh-103743: Add PyUnstable_Object_GC_NewWithExtraData (pythonGH-103744)
pythongh-102997: Update Windows installer to SQLite 3.41.2. (python#102999)
pythonGH-103484: Fix redirected permanently URLs (python#104001)
Improve assert_type phrasing (python#104081)
pythongh-102997: Update macOS installer to SQLite 3.41.2. (pythonGH-102998)
pythonGH-103472: close response in HTTPConnection._tunnel (python#103473)
pythongh-88496: IDLE - fix another test on macOS (python#104075)
pythongh-94673: Hide Objects in PyTypeObject Behind Accessors (pythongh-104074)
pythongh-94673: Properly Initialize and Finalize Static Builtin Types for Each Interpreter (pythongh-104072)
pythongh-104016: Skip test for deeply neste f-strings on wasi (python#104071)
carljm added a commit to carljm/cpython that referenced this pull request May 2, 2023
* main: (760 commits)
pythonGH-104102: Optimize `pathlib.Path.glob()` handling of `../` pattern segments (pythonGH-104103)
pythonGH-104104: Optimize `pathlib.Path.glob()` by avoiding repeated calls to `os.path.normcase()` (pythonGH-104105)
pythongh-103822: [Calendar] change return value to enum for day and month APIs (pythonGH-103827)
pythongh-65022: Fix description of tuple return value in copyreg (python#103892)
pythonGH-103525: Improve exception message from `pathlib.PurePath()` (pythonGH-103526)
pythongh-84436: Add integration C API tests for immortal objects (pythongh-103962)
pythongh-103743: Add PyUnstable_Object_GC_NewWithExtraData (pythonGH-103744)
pythongh-102997: Update Windows installer to SQLite 3.41.2. (python#102999)
pythonGH-103484: Fix redirected permanently URLs (python#104001)
Improve assert_type phrasing (python#104081)
pythongh-102997: Update macOS installer to SQLite 3.41.2. (pythonGH-102998)
pythonGH-103472: close response in HTTPConnection._tunnel (python#103473)
pythongh-88496: IDLE - fix another test on macOS (python#104075)
pythongh-94673: Hide Objects in PyTypeObject Behind Accessors (pythongh-104074)
pythongh-94673: Properly Initialize and Finalize Static Builtin Types for Each Interpreter (pythongh-104072)
pythongh-104016: Skip test for deeply neste f-strings on wasi (python#104071)
pythongh-104057: Fix direct invocation of test_super (python#104064)
pythongh-87092: Expose assembler to unit tests (python#103988)
pythongh-97696: asyncio eager tasks factory (python#102853)
pythongh-84436: Immortalize in _PyStructSequence_InitBuiltinWithFlags() (pythongh-104054)
...
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@barneygale@terryjreedy@akulakov@bedevere-bot