]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
pathlib ABCs: remove duplicate `realpath()` implementation. (#119178)
authorBarney Gale <barney.gale@gmail.com>
Wed, 5 Jun 2024 17:54:50 +0000 (18:54 +0100)
committerGitHub <noreply@github.com>
Wed, 5 Jun 2024 17:54:50 +0000 (18:54 +0100)
commite83ce850f433fd8bbf8ff4e8d7649b942639db31
treeca186e3e7520df9fa5f623f55dad31e34481f0d5
parent14e3c7071bd1add30d4b69b62e011c7d38aebd9b
pathlib ABCs: remove duplicate `realpath()` implementation. (#119178)

Add private `posixpath._realpath()` function, which is a generic version of `realpath()` that can be parameterised with string tokens (`sep`, `curdir`, `pardir`) and query functions (`getcwd`, `lstat`, `readlink`). Also add support for limiting the number of symlink traversals.

In the private `pathlib._abc.PathBase` class, call `posixpath._realpath()` and remove our re-implementation of the same algorithm.

No change to any public APIs, either in `posixpath` or `pathlib`.

Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
Lib/pathlib/_abc.py
Lib/posixpath.py