diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-05 16:20:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-05 16:20:58 +0000 |
commit | 5bb0bb4be543fd5eca41673696a62ed80d493591 (patch) | |
tree | ad2c464f140e86c7f178a6276d7ea4a93e3e6c92 /sphinx/util/_pathlib.py | |
parent | Adding upstream version 7.2.6. (diff) | |
download | sphinx-5bb0bb4be543fd5eca41673696a62ed80d493591.tar.xz sphinx-5bb0bb4be543fd5eca41673696a62ed80d493591.zip |
Adding upstream version 7.3.7.upstream/7.3.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | sphinx/util/_pathlib.py | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/sphinx/util/_pathlib.py b/sphinx/util/_pathlib.py index 59980e9..8bb1f31 100644 --- a/sphinx/util/_pathlib.py +++ b/sphinx/util/_pathlib.py @@ -5,6 +5,7 @@ from __future__ import annotations import sys import warnings from pathlib import Path, PosixPath, PurePath, WindowsPath +from typing import Any from sphinx.deprecation import RemovedInSphinx80Warning @@ -21,34 +22,36 @@ _MSG = ( if sys.platform == 'win32': class _StrPath(WindowsPath): - def replace(self, old, new, count=-1, /): + def replace( # type: ignore[override] + self, old: str, new: str, count: int = -1, /, + ) -> str: # replace exists in both Path and str; # in Path it makes filesystem changes, so we use the safer str version warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return self.__str__().replace(old, new, count) - def __getattr__(self, item): + def __getattr__(self, item: str) -> Any: if item in _STR_METHODS: warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return getattr(self.__str__(), item) msg = f'{_PATH_NAME!r} has no attribute {item!r}' raise AttributeError(msg) - def __add__(self, other): + def __add__(self, other: str) -> str: warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return self.__str__() + other - def __bool__(self): + def __bool__(self) -> bool: if not self.__str__(): warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return False return True - def __contains__(self, item): + def __contains__(self, item: str) -> bool: warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return item in self.__str__() - def __eq__(self, other): + def __eq__(self, other: object) -> bool: if isinstance(other, PurePath): return super().__eq__(other) if isinstance(other, str): @@ -56,46 +59,48 @@ if sys.platform == 'win32': return self.__str__() == other return NotImplemented - def __hash__(self): + def __hash__(self) -> int: return super().__hash__() - def __getitem__(self, item): + def __getitem__(self, item: int | slice) -> str: warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return self.__str__()[item] - def __len__(self): + def __len__(self) -> int: warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return len(self.__str__()) else: class _StrPath(PosixPath): - def replace(self, old, new, count=-1, /): + def replace( # type: ignore[override] + self, old: str, new: str, count: int = -1, /, + ) -> str: # replace exists in both Path and str; # in Path it makes filesystem changes, so we use the safer str version warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return self.__str__().replace(old, new, count) - def __getattr__(self, item): + def __getattr__(self, item: str) -> Any: if item in _STR_METHODS: warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return getattr(self.__str__(), item) msg = f'{_PATH_NAME!r} has no attribute {item!r}' raise AttributeError(msg) - def __add__(self, other): + def __add__(self, other: str) -> str: warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return self.__str__() + other - def __bool__(self): + def __bool__(self) -> bool: if not self.__str__(): warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return False return True - def __contains__(self, item): + def __contains__(self, item: str) -> bool: warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return item in self.__str__() - def __eq__(self, other): + def __eq__(self, other: object) -> bool: if isinstance(other, PurePath): return super().__eq__(other) if isinstance(other, str): @@ -103,13 +108,13 @@ else: return self.__str__() == other return NotImplemented - def __hash__(self): + def __hash__(self) -> int: return super().__hash__() - def __getitem__(self, item): + def __getitem__(self, item: int | slice) -> str: warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return self.__str__()[item] - def __len__(self): + def __len__(self) -> int: warnings.warn(_MSG, RemovedInSphinx80Warning, stacklevel=2) return len(self.__str__()) |