stdlib: add many missing __del__ methods (#11042)

This commit is contained in:
Alex Waygood
2023-11-18 19:32:12 +00:00
committed by GitHub
parent e21a2c70b7
commit 83964a4dc5
21 changed files with 36 additions and 1 deletions

View File

@@ -471,3 +471,5 @@ class BaseEventLoop(AbstractEventLoop):
async def shutdown_default_executor(self, timeout: float | None = None) -> None: ...
elif sys.version_info >= (3, 9):
async def shutdown_default_executor(self) -> None: ...
def __del__(self) -> None: ...

View File

@@ -55,6 +55,7 @@ class BaseSubprocessTransport(transports.SubprocessTransport):
async def _wait(self) -> int: ... # undocumented
def _try_finish(self) -> None: ... # undocumented
def _call_connection_lost(self, exc: BaseException | None) -> None: ... # undocumented
def __del__(self) -> None: ...
class WriteSubprocessPipeProto(protocols.BaseProtocol): # undocumented
def __init__(self, proc: BaseSubprocessTransport, fd: int) -> None: ...

View File

@@ -83,6 +83,8 @@ class _SSLProtocolTransport(transports._FlowControlMixin, transports.Transport):
def set_read_buffer_limits(self, high: int | None = None, low: int | None = None) -> None: ...
def get_read_buffer_size(self) -> int: ...
def __del__(self) -> None: ...
if sys.version_info >= (3, 11):
_SSLProtocolBase: TypeAlias = protocols.BufferedProtocol
else:

View File

@@ -128,6 +128,7 @@ class StreamReaderProtocol(FlowControlMixin, protocols.Protocol):
client_connected_cb: _ClientConnectedCallback | None = None,
loop: events.AbstractEventLoop | None = None,
) -> None: ...
def __del__(self) -> None: ...
class StreamWriter:
def __init__(
@@ -161,6 +162,8 @@ class StreamWriter:
async def start_tls(
self, sslcontext: ssl.SSLContext, *, server_hostname: str | None = None, ssl_handshake_timeout: float | None = None
) -> None: ...
if sys.version_info >= (3, 11):
def __del__(self) -> None: ...
class StreamReader(AsyncIterator[bytes]):
def __init__(self, limit: int = 65536, loop: events.AbstractEventLoop | None = None) -> None: ...

View File

@@ -117,7 +117,8 @@ class FieldStorage:
def __contains__(self, key: str) -> bool: ...
def __len__(self) -> int: ...
def __bool__(self) -> bool: ...
# In Python 3 it returns bytes or str IO depending on an internal flag
def __del__(self) -> None: ...
# Returns bytes or str IO depending on an internal flag
def make_file(self) -> IO[Any]: ...
def print_exception(

View File

@@ -31,6 +31,7 @@ class _ConnectionBase:
def __exit__(
self, exc_type: type[BaseException] | None, exc_value: BaseException | None, exc_tb: types.TracebackType | None
) -> None: ...
def __del__(self) -> None: ...
class Connection(_ConnectionBase): ...

View File

@@ -216,3 +216,4 @@ if sys.version_info >= (3, 8):
def get_server(self) -> SharedMemoryServer: ...
def SharedMemory(self, size: int) -> _SharedMemory: ...
def ShareableList(self, sequence: Iterable[_SLT] | None) -> _ShareableList[_SLT]: ...
def __del__(self) -> None: ...

View File

@@ -112,6 +112,7 @@ class Pool:
def __exit__(
self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None
) -> None: ...
def __del__(self) -> None: ...
class ThreadPool(Pool):
def __init__(

View File

@@ -20,6 +20,7 @@ class SharedMemory:
def size(self) -> int: ...
def close(self) -> None: ...
def unlink(self) -> None: ...
def __del__(self) -> None: ...
class ShareableList(Generic[_SLT]):
shm: SharedMemory

View File

@@ -29,6 +29,7 @@ class Shelf(MutableMapping[str, _VT]):
def __exit__(
self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None
) -> None: ...
def __del__(self) -> None: ...
def close(self) -> None: ...
def sync(self) -> None: ...

View File

@@ -2564,6 +2564,7 @@ class Popen(Generic[AnyStr]):
def __exit__(
self, exc_type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None
) -> None: ...
def __del__(self) -> None: ...
if sys.version_info >= (3, 9):
def __class_getitem__(cls, item: Any) -> GenericAlias: ...

View File

@@ -34,6 +34,7 @@ class Au_read:
def __init__(self, f: _File) -> None: ...
def __enter__(self) -> Self: ...
def __exit__(self, *args: Unused) -> None: ...
def __del__(self) -> None: ...
def getfp(self) -> IO[bytes] | None: ...
def rewind(self) -> None: ...
def close(self) -> None: ...
@@ -54,6 +55,7 @@ class Au_write:
def __init__(self, f: _File) -> None: ...
def __enter__(self) -> Self: ...
def __exit__(self, *args: Unused) -> None: ...
def __del__(self) -> None: ...
def setnchannels(self, nchannels: int) -> None: ...
def getnchannels(self) -> int: ...
def setsampwidth(self, sampwidth: int) -> None: ...

View File

@@ -119,3 +119,4 @@ class Telnet:
def __exit__(
self, type: type[BaseException] | None, value: BaseException | None, traceback: TracebackType | None
) -> None: ...
def __del__(self) -> None: ...

View File

@@ -282,6 +282,7 @@ class Variable:
@deprecated("use trace_info() instead of trace_vinfo()")
def trace_vinfo(self): ...
def __eq__(self, other: object) -> bool: ...
def __del__(self) -> None: ...
class StringVar(Variable):
def __init__(self, master: Misc | None = None, value: str | None = None, name: str | None = None) -> None: ...

View File

@@ -15,5 +15,6 @@ class DndHandler:
def finish(self, event: Event[Misc] | None, commit: int = 0) -> None: ...
def on_motion(self, event: Event[Misc]) -> None: ...
def on_release(self, event: Event[Misc]) -> None: ...
def __del__(self) -> None: ...
def dnd_start(source: _DndSource, event: Event[Misc]) -> DndHandler | None: ...

View File

@@ -101,6 +101,7 @@ class Font:
def metrics(self, *, displayof: tkinter.Misc | None = ...) -> _MetricsDict: ...
def measure(self, text: str, displayof: tkinter.Misc | None = None) -> int: ...
def __eq__(self, other: object) -> bool: ...
def __del__(self) -> None: ...
def families(root: tkinter.Misc | None = None, displayof: tkinter.Misc | None = None) -> tuple[str, ...]: ...
def names(root: tkinter.Misc | None = None) -> tuple[str, ...]: ...

View File

@@ -17,3 +17,5 @@ class IsolatedAsyncioTestCase(TestCase):
def addAsyncCleanup(self, __func: Callable[_P, Awaitable[object]], *args: _P.args, **kwargs: _P.kwargs) -> None: ...
if sys.version_info >= (3, 11):
async def enterAsyncContext(self, cm: AbstractAsyncContextManager[_T]) -> _T: ...
if sys.version_info >= (3, 9):
def __del__(self) -> None: ...

View File

@@ -337,6 +337,7 @@ class URLopener:
def open_https(self, url: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ... # undocumented
def open_local_file(self, url: str) -> addinfourl: ... # undocumented
def open_unknown_proxy(self, proxy: str, fullurl: str, data: ReadableBuffer | None = None) -> None: ... # undocumented
def __del__(self) -> None: ...
class FancyURLopener(URLopener):
def prompt_user_passwd(self, host: str, realm: str) -> tuple[str, str]: ...

View File

@@ -26,6 +26,7 @@ class Wave_read:
def __init__(self, f: _File) -> None: ...
def __enter__(self) -> Self: ...
def __exit__(self, *args: Unused) -> None: ...
def __del__(self) -> None: ...
def getfp(self) -> BinaryIO | None: ...
def rewind(self) -> None: ...
def close(self) -> None: ...
@@ -48,6 +49,7 @@ class Wave_write:
def __init__(self, f: _File) -> None: ...
def __enter__(self) -> Self: ...
def __exit__(self, *args: Unused) -> None: ...
def __del__(self) -> None: ...
def setnchannels(self, nchannels: int) -> None: ...
def getnchannels(self) -> int: ...
def setsampwidth(self, sampwidth: int) -> None: ...

View File

@@ -187,6 +187,8 @@ class ZipFile:
if sys.version_info >= (3, 11):
def mkdir(self, zinfo_or_directory_name: str | ZipInfo, mode: int = 0o777) -> None: ...
def __del__(self) -> None: ...
class PyZipFile(ZipFile):
def __init__(
self, file: str | IO[bytes], mode: _ZipFileMode = "r", compression: int = 0, allowZip64: bool = True, optimize: int = -1

View File

@@ -718,3 +718,10 @@ typing(_extensions)?\.IO\.__iter__ # See https://github.com/python/typeshed/com
# Omit internal _KEEP argument
tarfile.TarInfo.replace
# Private parameters are deliberately omitted in the stubs (see https://github.com/python/mypy/issues/16443)
asyncio.(base_events.)?BaseEventLoop.__del__
asyncio.(base_subprocess.)?BaseSubprocessTransport.__del__
asyncio.(sslproto.)?_SSLProtocolTransport.__del__
multiprocessing.pool.Pool.__del__
subprocess.Popen.__del__