GH-113568: Stop raising deprecation warnings from pathlib ABCs (#113757)

This commit is contained in:
Barney Gale 2024-01-05 22:56:04 +00:00 committed by GitHub
parent d99d871225
commit 3375dfed40
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 46 additions and 24 deletions

View file

@ -2,7 +2,6 @@ import functools
import ntpath
import posixpath
import sys
import warnings
from _collections_abc import Sequence
from errno import ENOENT, ENOTDIR, EBADF, ELOOP, EINVAL
from itertools import chain
@ -383,7 +382,7 @@ class PurePathBase:
else:
raise ValueError(f"Invalid suffix {suffix!r}")
def relative_to(self, other, /, *_deprecated, walk_up=False):
def relative_to(self, other, *, walk_up=False):
"""Return the relative path to another path identified by the passed
arguments. If the operation is not possible (because this is not
related to the other path), raise ValueError.
@ -391,13 +390,7 @@ class PurePathBase:
The *walk_up* parameter controls whether `..` may be used to resolve
the path.
"""
if _deprecated:
msg = ("support for supplying more than one positional argument "
"to pathlib.PurePath.relative_to() is deprecated and "
"scheduled for removal in Python 3.14")
warnings.warn(msg, DeprecationWarning, stacklevel=2)
other = self.with_segments(other, *_deprecated)
elif not isinstance(other, PurePathBase):
if not isinstance(other, PurePathBase):
other = self.with_segments(other)
for step, path in enumerate(chain([other], other.parents)):
if path == self or path in self.parents:
@ -411,16 +404,10 @@ class PurePathBase:
parts = ['..'] * step + self._tail[len(path._tail):]
return self._from_parsed_parts('', '', parts)
def is_relative_to(self, other, /, *_deprecated):
def is_relative_to(self, other):
"""Return True if the path is relative to another path or False.
"""
if _deprecated:
msg = ("support for supplying more than one argument to "
"pathlib.PurePath.is_relative_to() is deprecated and "
"scheduled for removal in Python 3.14")
warnings.warn(msg, DeprecationWarning, stacklevel=2)
other = self.with_segments(other, *_deprecated)
elif not isinstance(other, PurePathBase):
if not isinstance(other, PurePathBase):
other = self.with_segments(other)
return other == self or other in self.parents