GH-127381: pathlib ABCs: remove PathBase.lstat() (#127382)

Remove the `PathBase.lstat()` method, which is a trivial variation of
`stat()`.

No user-facing changes because the pathlib ABCs are still private.
This commit is contained in:
Barney Gale 2024-11-29 21:03:39 +00:00 committed by GitHub
parent 15d6506d17
commit 38264a060a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 26 additions and 29 deletions

View file

@ -438,14 +438,6 @@ class PathBase(PurePathBase):
"""
raise UnsupportedOperation(self._unsupported_msg('stat()'))
def lstat(self):
"""
Like stat(), except if the path points to a symlink, the symlink's
status information is returned, rather than its target's.
"""
return self.stat(follow_symlinks=False)
# Convenience functions for querying the stat results
def exists(self, *, follow_symlinks=True):
@ -505,7 +497,7 @@ class PathBase(PurePathBase):
Whether this path is a symbolic link.
"""
try:
return S_ISLNK(self.lstat().st_mode)
return S_ISLNK(self.stat(follow_symlinks=False).st_mode)
except (OSError, ValueError):
return False
@ -789,7 +781,7 @@ class PathBase(PurePathBase):
def lstat(path_str):
path = self.with_segments(path_str)
path._resolving = True
return path.lstat()
return path.stat(follow_symlinks=False)
def readlink(path_str):
path = self.with_segments(path_str)