hyb
2026-01-09 4cb426cb3ae31e772a09d4ade5b2f0242aaeefa0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from __future__ import annotations
 
import os
 
TYPE_CHECKING = False
if TYPE_CHECKING:
    from typing import Any, NoReturn, TypeGuard
 
    from ._typing import StrOrBytesPath
 
 
def is_path(f: Any) -> TypeGuard[StrOrBytesPath]:
    return isinstance(f, (bytes, str, os.PathLike))
 
 
class DeferredError:
    def __init__(self, ex: BaseException):
        self.ex = ex
 
    def __getattr__(self, elt: str) -> NoReturn:
        raise self.ex
 
    @staticmethod
    def new(ex: BaseException) -> Any:
        """
        Creates an object that raises the wrapped exception ``ex`` when used,
        and casts it to :py:obj:`~typing.Any` type.
        """
        return DeferredError(ex)