1
1
import os
2
2
import sys
3
- from _typeshed import BytesPath , FileDescriptorOrPath , StrOrBytesPath , StrPath , SupportsRead , SupportsWrite
3
+ from _typeshed import BytesPath , ExcInfo , FileDescriptorOrPath , StrOrBytesPath , StrPath , SupportsRead , SupportsWrite
4
4
from collections .abc import Callable , Iterable , Sequence
5
5
from tarfile import _TarfileFilter
6
6
from typing import Any , AnyStr , NamedTuple , Protocol , TypeVar , overload
@@ -71,14 +71,12 @@ def copytree(
71
71
dirs_exist_ok : bool = False ,
72
72
) -> _PathReturn : ...
73
73
74
- _OnErrorCallback : TypeAlias = Callable [[Callable [..., Any ], str , Any ], object ]
75
- _OnExcCallback : TypeAlias = Callable [[Callable [..., Any ], str , Exception ], object ]
74
+ _OnErrorCallback : TypeAlias = Callable [[Callable [..., Any ], str , ExcInfo ], object ]
75
+ _OnExcCallback : TypeAlias = Callable [[Callable [..., Any ], str , BaseException ], object ]
76
76
77
77
class _RmtreeType (Protocol ):
78
78
avoids_symlink_attacks : bool
79
79
if sys .version_info >= (3 , 12 ):
80
- @overload
81
- def __call__ (self , path : StrOrBytesPath , ignore_errors : bool = False , * , dir_fd : int | None = None ) -> None : ...
82
80
@overload
83
81
@deprecated ("The `onerror` parameter is deprecated and will be removed in Python 3.14. Use `onexc` instead." )
84
82
def __call__ (
@@ -91,7 +89,12 @@ class _RmtreeType(Protocol):
91
89
) -> None : ...
92
90
@overload
93
91
def __call__ (
94
- self , path : StrOrBytesPath , ignore_errors : bool = False , * , onexc : _OnExcCallback , dir_fd : int | None = None
92
+ self ,
93
+ path : StrOrBytesPath ,
94
+ ignore_errors : bool = False ,
95
+ * ,
96
+ onexc : _OnExcCallback | None = None ,
97
+ dir_fd : int | None = None ,
95
98
) -> None : ...
96
99
elif sys .version_info >= (3 , 11 ):
97
100
def __call__ (
0 commit comments