mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-07 20:54:28 +08:00
make urllib.response.addinfourl instantiable (#2134)
Fixes #1377 (because HTTPError is a subclass of addinfourl). Also part of #1476.
This commit is contained in:
committed by
Guido van Rossum
parent
c4bf27b835
commit
ced5d61bb6
@@ -1,11 +1,41 @@
|
||||
# private module, we only expose what's needed
|
||||
|
||||
from typing import BinaryIO, Mapping, Optional
|
||||
from typing import BinaryIO, Iterable, List, Mapping, Optional, Type, TypeVar
|
||||
from types import TracebackType
|
||||
|
||||
class addinfourl(BinaryIO):
|
||||
headers = ... # type: Mapping[str, str]
|
||||
url = ... # type: str
|
||||
code = ... # type: int
|
||||
_AIUT = TypeVar("_AIUT", bound=addbase)
|
||||
|
||||
class addbase(BinaryIO):
|
||||
def __enter__(self: _AIUT) -> _AIUT: ...
|
||||
def __exit__(self, type: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[TracebackType]) -> bool: ...
|
||||
def __iter__(self: _AIUT) -> _AIUT: ...
|
||||
def __next__(self) -> bytes: ...
|
||||
def close(self) -> None: ...
|
||||
# These methods don't actually exist, but the class inherits at runtime from
|
||||
# tempfile._TemporaryFileWrapper, which uses __getattr__ to delegate to the
|
||||
# underlying file object. To satisfy the BinaryIO interface, we pretend that this
|
||||
# class has these additional methods.
|
||||
def fileno(self) -> int: ...
|
||||
def flush(self) -> None: ...
|
||||
def isatty(self) -> bool: ...
|
||||
def read(self, n: int = ...) -> bytes: ...
|
||||
def readable(self) -> bool: ...
|
||||
def readline(self, limit: int = ...) -> bytes: ...
|
||||
def readlines(self, hint: int = ...) -> List[bytes]: ...
|
||||
def seek(self, offset: int, whence: int = ...) -> int: ...
|
||||
def seekable(self) -> bool: ...
|
||||
def tell(self) -> int: ...
|
||||
def truncate(self, size: Optional[int] = ...) -> int: ...
|
||||
def writable(self) -> bool: ...
|
||||
def write(self, s: bytes) -> int: ...
|
||||
def writelines(self, lines: Iterable[bytes]) -> None: ...
|
||||
|
||||
class addinfo(addbase):
|
||||
headers: Mapping[str, str]
|
||||
def info(self) -> Mapping[str, str]: ...
|
||||
|
||||
class addinfourl(addinfo):
|
||||
url: str
|
||||
code: int
|
||||
def geturl(self) -> str: ...
|
||||
def getcode(self) -> int: ...
|
||||
|
||||
Reference in New Issue
Block a user