1
1
import sys
2
2
import types
3
- from _typeshed import (
4
- OpenBinaryMode ,
5
- OpenBinaryModeReading ,
6
- OpenBinaryModeUpdating ,
7
- OpenBinaryModeWriting ,
8
- OpenTextMode ,
9
- StrOrBytesPath ,
10
- StrPath ,
11
- )
3
+ from _typeshed import OpenBinaryMode , OpenBinaryModeReading , OpenBinaryModeUpdating , OpenBinaryModeWriting , OpenTextMode
12
4
from abc import ABCMeta , abstractmethod
13
5
from collections .abc import Iterator , Mapping , Sequence
14
6
from importlib .machinery import ModuleSpec
@@ -93,9 +85,9 @@ class FileLoader(ResourceLoader, ExecutionLoader, metaclass=ABCMeta):
93
85
94
86
class ResourceReader (metaclass = ABCMeta ):
95
87
@abstractmethod
96
- def open_resource (self , resource : StrOrBytesPath ) -> IO [bytes ]: ...
88
+ def open_resource (self , resource : str ) -> IO [bytes ]: ...
97
89
@abstractmethod
98
- def resource_path (self , resource : StrOrBytesPath ) -> str : ...
90
+ def resource_path (self , resource : str ) -> str : ...
99
91
if sys .version_info >= (3 , 10 ):
100
92
@abstractmethod
101
93
def is_resource (self , path : str ) -> bool : ...
@@ -115,8 +107,12 @@ if sys.version_info >= (3, 9):
115
107
def is_file (self ) -> bool : ...
116
108
@abstractmethod
117
109
def iterdir (self ) -> Iterator [Traversable ]: ...
118
- @abstractmethod
119
- def joinpath (self , child : StrPath ) -> Traversable : ...
110
+ if sys .version_info >= (3 , 11 ):
111
+ @abstractmethod
112
+ def joinpath (self , * descendants : str ) -> Traversable : ...
113
+ else :
114
+ @abstractmethod
115
+ def joinpath (self , child : str ) -> Traversable : ...
120
116
# The .open method comes from pathlib.pyi and should be kept in sync.
121
117
@overload
122
118
@abstractmethod
@@ -180,7 +176,7 @@ if sys.version_info >= (3, 9):
180
176
@property
181
177
def name (self ) -> str : ...
182
178
@abstractmethod
183
- def __truediv__ (self , child : StrPath ) -> Traversable : ...
179
+ def __truediv__ (self , child : str ) -> Traversable : ...
184
180
@abstractmethod
185
181
def read_bytes (self ) -> bytes : ...
186
182
@abstractmethod
@@ -189,7 +185,7 @@ if sys.version_info >= (3, 9):
189
185
class TraversableResources (ResourceReader ):
190
186
@abstractmethod
191
187
def files (self ) -> Traversable : ...
192
- def open_resource (self , resource : StrPath ) -> BufferedReader : ... # type: ignore[override]
188
+ def open_resource (self , resource : str ) -> BufferedReader : ... # type: ignore[override]
193
189
def resource_path (self , resource : Any ) -> NoReturn : ...
194
- def is_resource (self , path : StrPath ) -> bool : ...
190
+ def is_resource (self , path : str ) -> bool : ...
195
191
def contents (self ) -> Iterator [str ]: ...
0 commit comments