diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2024-03-16 14:04:41 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2024-03-16 14:15:11 +0300 |
commit | d83e7ea91cbc5e5d4ea49195eeab84c364dba4bb (patch) | |
tree | 5ffdbed1c2a932a8d41089a6ac2766dd783ad15b /contrib/python/Twisted/py3/twisted/internet | |
parent | f7d1b63f8a2e18da4372628a2917fa0c508ba43a (diff) | |
download | ydb-d83e7ea91cbc5e5d4ea49195eeab84c364dba4bb.tar.gz |
Intermediate changes
Diffstat (limited to 'contrib/python/Twisted/py3/twisted/internet')
23 files changed, 94 insertions, 68 deletions
diff --git a/contrib/python/Twisted/py3/twisted/internet/_dumbwin32proc.py b/contrib/python/Twisted/py3/twisted/internet/_dumbwin32proc.py index 678f54e59b..22eb26b1a4 100644 --- a/contrib/python/Twisted/py3/twisted/internet/_dumbwin32proc.py +++ b/contrib/python/Twisted/py3/twisted/internet/_dumbwin32proc.py @@ -12,16 +12,16 @@ import sys from zope.interface import implementer -import pywintypes # type: ignore[import] +import pywintypes # Win32 imports -import win32api # type: ignore[import] -import win32con # type: ignore[import] -import win32event # type: ignore[import] -import win32file # type: ignore[import] -import win32pipe # type: ignore[import] -import win32process # type: ignore[import] -import win32security # type: ignore[import] +import win32api +import win32con +import win32event +import win32file +import win32pipe +import win32process +import win32security from twisted.internet import _pollingfile, error from twisted.internet._baseprocess import BaseProcess diff --git a/contrib/python/Twisted/py3/twisted/internet/_glibbase.py b/contrib/python/Twisted/py3/twisted/internet/_glibbase.py index 4a6d1323ab..587ec1bd05 100644 --- a/contrib/python/Twisted/py3/twisted/internet/_glibbase.py +++ b/contrib/python/Twisted/py3/twisted/internet/_glibbase.py @@ -22,7 +22,7 @@ from twisted.internet.abstract import FileDescriptor from twisted.internet.interfaces import IReactorFDSet, IReadDescriptor, IWriteDescriptor from twisted.python import log from twisted.python.monkey import MonkeyPatcher -from ._signals import _UnixWaker +from ._signals import _IWaker, _UnixWaker def ensureNotImported(moduleNames, errorMessage, preventImports=[]): @@ -77,7 +77,7 @@ def _signalGlue(): reactor main loop which makes our signal handling work with glib's signal handling. """ - from gi import _ossighelper as signalGlue # type: ignore[import] + from gi import _ossighelper as signalGlue patcher = MonkeyPatcher() patcher.addPatch(signalGlue, "_wakeup_fd_is_active", True) @@ -129,7 +129,7 @@ class GlibReactorBase(posixbase.PosixReactorBase, posixbase._PollLikeMixin): # Install a waker that knows it needs to call C{_simulate} in order to run # callbacks queued from a thread: - def _wakerFactory(self) -> GlibWaker: + def _wakerFactory(self) -> _IWaker: return GlibWaker(self) def __init__(self, glib_module: Any, gtk_module: Any, useGtk: bool = False) -> None: diff --git a/contrib/python/Twisted/py3/twisted/internet/_pollingfile.py b/contrib/python/Twisted/py3/twisted/internet/_pollingfile.py index 758a4cecb7..389182a69a 100644 --- a/contrib/python/Twisted/py3/twisted/internet/_pollingfile.py +++ b/contrib/python/Twisted/py3/twisted/internet/_pollingfile.py @@ -95,10 +95,10 @@ class _PollingTimer: # If we ever (let's hope not) need the above functionality on UNIX, this could # be factored into a different module. -import pywintypes # type: ignore[import] -import win32api # type: ignore[import] -import win32file # type: ignore[import] -import win32pipe # type: ignore[import] +import pywintypes +import win32api +import win32file +import win32pipe @implementer(IPushProducer) diff --git a/contrib/python/Twisted/py3/twisted/internet/_posixserialport.py b/contrib/python/Twisted/py3/twisted/internet/_posixserialport.py index 636aefa170..7858362dda 100644 --- a/contrib/python/Twisted/py3/twisted/internet/_posixserialport.py +++ b/contrib/python/Twisted/py3/twisted/internet/_posixserialport.py @@ -9,8 +9,7 @@ Serial Port Protocol # dependent on pyserial ( http://pyserial.sf.net/ ) # only tested w/ 1.18 (5 Dec 2002) -from serial import PARITY_NONE # type: ignore[import] -from serial import EIGHTBITS, STOPBITS_ONE +from serial import EIGHTBITS, PARITY_NONE, STOPBITS_ONE from twisted.internet import abstract, fdesc from twisted.internet.serialport import BaseSerialPort diff --git a/contrib/python/Twisted/py3/twisted/internet/_signals.py b/contrib/python/Twisted/py3/twisted/internet/_signals.py index fa878f6cba..18793bfbba 100644 --- a/contrib/python/Twisted/py3/twisted/internet/_signals.py +++ b/contrib/python/Twisted/py3/twisted/internet/_signals.py @@ -271,12 +271,12 @@ class _IWaker(Interface): disconnected = Attribute("") - def wakeUp(): + def wakeUp() -> None: """ Called when the event should be wake up. """ - def doRead(): + def doRead() -> None: """ Read some data from my connection and discard it. """ diff --git a/contrib/python/Twisted/py3/twisted/internet/_sslverify.py b/contrib/python/Twisted/py3/twisted/internet/_sslverify.py index 552c30bbf0..abb6bddf7c 100644 --- a/contrib/python/Twisted/py3/twisted/internet/_sslverify.py +++ b/contrib/python/Twisted/py3/twisted/internet/_sslverify.py @@ -13,10 +13,10 @@ from typing import Dict from zope.interface import Interface, implementer from OpenSSL import SSL, crypto -from OpenSSL._util import lib as pyOpenSSLlib # type: ignore[import] +from OpenSSL._util import lib as pyOpenSSLlib import attr -from constantly import FlagConstant, Flags, NamedConstant, Names # type: ignore[import] +from constantly import FlagConstant, Flags, NamedConstant, Names from incremental import Version from twisted.internet.abstract import isIPAddress, isIPv6Address diff --git a/contrib/python/Twisted/py3/twisted/internet/_win32serialport.py b/contrib/python/Twisted/py3/twisted/internet/_win32serialport.py index 2dda4b9816..59874ed2f6 100644 --- a/contrib/python/Twisted/py3/twisted/internet/_win32serialport.py +++ b/contrib/python/Twisted/py3/twisted/internet/_win32serialport.py @@ -10,13 +10,12 @@ Requires PySerial and pywin32. """ -import win32event # type: ignore[import] -import win32file # type: ignore[import] +import win32event +import win32file # system imports -from serial import PARITY_NONE # type: ignore[import] -from serial import EIGHTBITS, STOPBITS_ONE -from serial.serialutil import to_bytes # type: ignore[import] +from serial import EIGHTBITS, PARITY_NONE, STOPBITS_ONE +from serial.serialutil import to_bytes # twisted imports from twisted.internet import abstract diff --git a/contrib/python/Twisted/py3/twisted/internet/_win32stdio.py b/contrib/python/Twisted/py3/twisted/internet/_win32stdio.py index f1ac920f60..104d65f348 100644 --- a/contrib/python/Twisted/py3/twisted/internet/_win32stdio.py +++ b/contrib/python/Twisted/py3/twisted/internet/_win32stdio.py @@ -10,7 +10,7 @@ import os from zope.interface import implementer -import win32api # type: ignore[import] +import win32api from twisted.internet import _pollingfile, main from twisted.internet.interfaces import ( diff --git a/contrib/python/Twisted/py3/twisted/internet/cfreactor.py b/contrib/python/Twisted/py3/twisted/internet/cfreactor.py index 142c0472ef..f686092e69 100644 --- a/contrib/python/Twisted/py3/twisted/internet/cfreactor.py +++ b/contrib/python/Twisted/py3/twisted/internet/cfreactor.py @@ -17,7 +17,7 @@ import sys from zope.interface import implementer -from CFNetwork import ( # type: ignore[import] +from CFNetwork import ( CFSocketCreateRunLoopSource, CFSocketCreateWithNative, CFSocketDisableCallBacks, @@ -30,7 +30,7 @@ from CFNetwork import ( # type: ignore[import] kCFSocketReadCallBack, kCFSocketWriteCallBack, ) -from CoreFoundation import ( # type: ignore[import] +from CoreFoundation import ( CFAbsoluteTimeGetCurrent, CFRunLoopAddSource, CFRunLoopAddTimer, diff --git a/contrib/python/Twisted/py3/twisted/internet/defer.py b/contrib/python/Twisted/py3/twisted/internet/defer.py index 17e717cad2..caafb52210 100644 --- a/contrib/python/Twisted/py3/twisted/internet/defer.py +++ b/contrib/python/Twisted/py3/twisted/internet/defer.py @@ -17,7 +17,7 @@ from asyncio import AbstractEventLoop, Future, iscoroutine from contextvars import Context as _Context, copy_context as _copy_context from enum import Enum from functools import wraps -from sys import exc_info +from sys import exc_info, implementation from types import CoroutineType, GeneratorType, MappingProxyType, TracebackType from typing import ( TYPE_CHECKING, @@ -58,6 +58,9 @@ log = Logger() _T = TypeVar("_T") _P = ParamSpec("_P") +# See use in _inlineCallbacks for explanation and removal timeline. +_oldPypyStack = _PYPY and implementation.version < (7, 3, 14) + class AlreadyCalledError(Exception): """ @@ -1583,7 +1586,7 @@ class DeferredList( # type: ignore[no-redef] # noqa:F811 def _parseDeferredListResult( - resultList: List[_DeferredListResultItemT[_T]], fireOnOneErrback: bool = False + resultList: List[_DeferredListResultItemT[_T]], fireOnOneErrback: bool = False, / ) -> List[_T]: if __debug__: for result in resultList: @@ -1617,9 +1620,9 @@ def gatherResults( is useful to prevent spurious 'Unhandled error in Deferred' messages from being logged. This parameter is available since 11.1.0. """ - d = DeferredList(deferredList, fireOnOneErrback=True, consumeErrors=consumeErrors) - d.addCallback(_parseDeferredListResult) - return cast(Deferred[List[_T]], d) + return DeferredList( + deferredList, fireOnOneErrback=True, consumeErrors=consumeErrors + ).addCallback(_parseDeferredListResult) class FailureGroup(Exception): @@ -2022,8 +2025,10 @@ def _inlineCallbacks( appCodeTrace = traceback.tb_next assert appCodeTrace is not None - if _PYPY: - # PyPy as of 3.7 adds an extra frame. + if _oldPypyStack: + # PyPy versions through 7.3.13 add an extra frame; 7.3.14 fixed + # this discrepancy with CPython. This code can be removed once + # we no longer need to support PyPy 7.3.13 or older. appCodeTrace = appCodeTrace.tb_next assert appCodeTrace is not None @@ -2116,14 +2121,13 @@ def _addCancelCallbackToDeferred( @param status: a L{_CancellationStatus} tracking the current status of C{gen} """ it.callbacks, tmp = [], it.callbacks - it.addErrback(_handleCancelInlineCallbacks, status) + it = it.addErrback(_handleCancelInlineCallbacks, status) it.callbacks.extend(tmp) it.errback(_InternalInlineCallbacksCancelledError()) def _handleCancelInlineCallbacks( - result: Failure, - status: _CancellationStatus[_T], + result: Failure, status: _CancellationStatus[_T], / ) -> Deferred[_T]: """ Propagate the cancellation of an C{@}L{inlineCallbacks} to the diff --git a/contrib/python/Twisted/py3/twisted/internet/endpoints.py b/contrib/python/Twisted/py3/twisted/internet/endpoints.py index 4a4cf55e8e..7ab1d81731 100644 --- a/contrib/python/Twisted/py3/twisted/internet/endpoints.py +++ b/contrib/python/Twisted/py3/twisted/internet/endpoints.py @@ -22,7 +22,7 @@ from unicodedata import normalize from zope.interface import directlyProvides, implementer, provider -from constantly import NamedConstant, Names # type: ignore[import] +from constantly import NamedConstant, Names from incremental import Version from twisted.internet import defer, error, fdesc, interfaces, threads diff --git a/contrib/python/Twisted/py3/twisted/internet/gireactor.py b/contrib/python/Twisted/py3/twisted/internet/gireactor.py index e9c072f41a..4a193a79ec 100644 --- a/contrib/python/Twisted/py3/twisted/internet/gireactor.py +++ b/contrib/python/Twisted/py3/twisted/internet/gireactor.py @@ -23,7 +23,7 @@ On Python 3, pygobject v3.4 or later is required. from typing import Union -from gi.repository import GLib # type:ignore[import] +from gi.repository import GLib from twisted.internet import _glibbase from twisted.internet.error import ReactorAlreadyRunning diff --git a/contrib/python/Twisted/py3/twisted/internet/gtk2reactor.py b/contrib/python/Twisted/py3/twisted/internet/gtk2reactor.py index b4e0c4c4e1..d0fc744083 100644 --- a/contrib/python/Twisted/py3/twisted/internet/gtk2reactor.py +++ b/contrib/python/Twisted/py3/twisted/internet/gtk2reactor.py @@ -43,13 +43,13 @@ from twisted.python import runtime try: if not hasattr(sys, "frozen"): # Don't want to check this for py2exe - import pygtk # type: ignore[import] + import pygtk pygtk.require("2.0") except (ImportError, AttributeError): pass # maybe we're using pygtk before this hack existed. -import gobject # type: ignore[import] +import gobject if not hasattr(gobject, "IO_HUP"): # gi.repository's legacy compatibility helper raises an AttributeError with @@ -74,7 +74,7 @@ class Gtk2Reactor(_glibbase.GlibReactorBase): def __init__(self, useGtk=True): _gtk = None if useGtk is True: - import gtk as _gtk # type: ignore[import] + import gtk as _gtk _glibbase.GlibReactorBase.__init__(self, gobject, _gtk, useGtk=useGtk) diff --git a/contrib/python/Twisted/py3/twisted/internet/iocpreactor/iocpsupport.py b/contrib/python/Twisted/py3/twisted/internet/iocpreactor/iocpsupport.py index 826c976487..9cb9f16da2 100644 --- a/contrib/python/Twisted/py3/twisted/internet/iocpreactor/iocpsupport.py +++ b/contrib/python/Twisted/py3/twisted/internet/iocpreactor/iocpsupport.py @@ -12,7 +12,7 @@ __all__ = [ "send", ] -from twisted_iocpsupport.iocpsupport import ( # type: ignore[import] +from twisted_iocpsupport.iocpsupport import ( # type: ignore[import-not-found] CompletionPort, Event, accept, diff --git a/contrib/python/Twisted/py3/twisted/internet/iocpreactor/tcp.py b/contrib/python/Twisted/py3/twisted/internet/iocpreactor/tcp.py index aadd685269..ef72b7ed7e 100644 --- a/contrib/python/Twisted/py3/twisted/internet/iocpreactor/tcp.py +++ b/contrib/python/Twisted/py3/twisted/internet/iocpreactor/tcp.py @@ -5,15 +5,19 @@ TCP support for IOCP reactor """ +from __future__ import annotations + import errno import socket import struct -from typing import Optional +from typing import TYPE_CHECKING, Optional, Union from zope.interface import classImplements, implementer from twisted.internet import address, defer, error, interfaces, main from twisted.internet.abstract import _LogOwner, isIPv6Address +from twisted.internet.address import IPv4Address, IPv6Address +from twisted.internet.interfaces import IProtocol from twisted.internet.iocpreactor import abstract, iocpsupport as _iocp from twisted.internet.iocpreactor.const import ( ERROR_CONNECTION_REFUSED, @@ -42,6 +46,9 @@ except ImportError: else: _startTLS = __startTLS +if TYPE_CHECKING: + # Circular import only to describe a type. + from twisted.internet.iocpreactor.reactor import IOCPReactor # ConnectEx returns these. XXX: find out what it does for timeout connectExErrors = { @@ -345,7 +352,15 @@ class Server(Connection): _tlsClientDefault = False - def __init__(self, sock, protocol, clientAddr, serverAddr, sessionno, reactor): + def __init__( + self, + sock: socket.socket, + protocol: IProtocol, + clientAddr: Union[IPv4Address, IPv6Address], + serverAddr: Union[IPv4Address, IPv6Address], + sessionno: int, + reactor: IOCPReactor, + ): """ Server(sock, protocol, client, server, sessionno) diff --git a/contrib/python/Twisted/py3/twisted/internet/posixbase.py b/contrib/python/Twisted/py3/twisted/internet/posixbase.py index bd160ec865..ed218b37f3 100644 --- a/contrib/python/Twisted/py3/twisted/internet/posixbase.py +++ b/contrib/python/Twisted/py3/twisted/internet/posixbase.py @@ -68,7 +68,7 @@ if unixEnabled: if platform.isWindows(): try: - import win32process # type: ignore[import] + import win32process processEnabled = True except ImportError: diff --git a/contrib/python/Twisted/py3/twisted/internet/process.py b/contrib/python/Twisted/py3/twisted/internet/process.py index ef3b88d9f1..ff7684e358 100644 --- a/contrib/python/Twisted/py3/twisted/internet/process.py +++ b/contrib/python/Twisted/py3/twisted/internet/process.py @@ -879,7 +879,7 @@ class Process(_BaseProcess): else: fdState.append((eachFD, isCloseOnExec)) if environment is None: - environment = {} + environment = os.environ setSigDef = [ everySignal diff --git a/contrib/python/Twisted/py3/twisted/internet/pyuisupport.py b/contrib/python/Twisted/py3/twisted/internet/pyuisupport.py index bfbffb9cb4..265fea2405 100644 --- a/contrib/python/Twisted/py3/twisted/internet/pyuisupport.py +++ b/contrib/python/Twisted/py3/twisted/internet/pyuisupport.py @@ -11,7 +11,7 @@ See doc/examples/pyuidemo.py for example usage. """ # System imports -import pyui # type: ignore[import] +import pyui # type: ignore[import-not-found] def _guiUpdate(reactor, delay): diff --git a/contrib/python/Twisted/py3/twisted/internet/serialport.py b/contrib/python/Twisted/py3/twisted/internet/serialport.py index d63d4ce435..4fda3b9115 100644 --- a/contrib/python/Twisted/py3/twisted/internet/serialport.py +++ b/contrib/python/Twisted/py3/twisted/internet/serialport.py @@ -26,7 +26,7 @@ __all__ = [ ] # all of them require pyserial at the moment, so check that first -import serial # type: ignore[import] +import serial from serial import ( EIGHTBITS, FIVEBITS, diff --git a/contrib/python/Twisted/py3/twisted/internet/ssl.py b/contrib/python/Twisted/py3/twisted/internet/ssl.py index 1ad02b3c09..902268bab4 100644 --- a/contrib/python/Twisted/py3/twisted/internet/ssl.py +++ b/contrib/python/Twisted/py3/twisted/internet/ssl.py @@ -53,6 +53,7 @@ APIs listed above. throughout the documentation. """ +from __future__ import annotations from zope.interface import implementedBy, implementer, implementer_only @@ -180,6 +181,8 @@ class Server(tcp.Server): I am an SSL server. """ + server: Port + def __init__(self, *args, **kwargs): tcp.Server.__init__(self, *args, **kwargs) self.startTLS(self.server.ctxFactory) diff --git a/contrib/python/Twisted/py3/twisted/internet/tcp.py b/contrib/python/Twisted/py3/twisted/internet/tcp.py index c87b5b7333..8f85025556 100644 --- a/contrib/python/Twisted/py3/twisted/internet/tcp.py +++ b/contrib/python/Twisted/py3/twisted/internet/tcp.py @@ -8,13 +8,13 @@ Various asynchronous TCP/IP classes. End users shouldn't use this module directly - use the reactor APIs instead. """ -import os +from __future__ import annotations -# System Imports +import os import socket import struct import sys -from typing import Callable, ClassVar, List, Optional +from typing import Callable, ClassVar, List, Optional, Union from zope.interface import Interface, implementer @@ -24,6 +24,8 @@ import typing_extensions from twisted.internet.interfaces import ( IHalfCloseableProtocol, IListeningPort, + IProtocol, + IReactorTCP, ISystemHandle, ITCPTransport, ) @@ -781,9 +783,19 @@ class Server(_TLSServerMixin, Connection): _base = Connection - _addressType = address.IPv4Address - - def __init__(self, sock, protocol, client, server, sessionno, reactor): + _addressType: Union[ + type[address.IPv4Address], type[address.IPv6Address] + ] = address.IPv4Address + + def __init__( + self, + sock: socket.socket, + protocol: IProtocol, + client: tuple[object, ...], + server: Port, + sessionno: int, + reactor: IReactorTCP, + ) -> None: """ Server(sock, protocol, client, server, sessionno) diff --git a/contrib/python/Twisted/py3/twisted/internet/win32eventreactor.py b/contrib/python/Twisted/py3/twisted/internet/win32eventreactor.py index 0e96012ea5..8fbef7d554 100644 --- a/contrib/python/Twisted/py3/twisted/internet/win32eventreactor.py +++ b/contrib/python/Twisted/py3/twisted/internet/win32eventreactor.py @@ -54,13 +54,7 @@ from weakref import WeakKeyDictionary from zope.interface import implementer # Win32 imports -from win32file import ( # type: ignore[import] - FD_ACCEPT, - FD_CLOSE, - FD_CONNECT, - FD_READ, - WSAEventSelect, -) +from win32file import FD_ACCEPT, FD_CLOSE, FD_CONNECT, FD_READ, WSAEventSelect try: # WSAEnumNetworkEvents was added in pywin32 215 @@ -77,8 +71,8 @@ except ImportError: return {FD_READ} -import win32gui # type: ignore[import] -from win32event import ( # type: ignore[import] +import win32gui # type: ignore[import-untyped] +from win32event import ( QS_ALLINPUT, WAIT_OBJECT_0, WAIT_TIMEOUT, diff --git a/contrib/python/Twisted/py3/twisted/internet/wxreactor.py b/contrib/python/Twisted/py3/twisted/internet/wxreactor.py index b988724dfa..257c5259ce 100644 --- a/contrib/python/Twisted/py3/twisted/internet/wxreactor.py +++ b/contrib/python/Twisted/py3/twisted/internet/wxreactor.py @@ -26,14 +26,14 @@ real applications. from queue import Empty, Queue try: - from wx import ( # type: ignore[import] + from wx import ( CallAfter as wxCallAfter, PySimpleApp as wxPySimpleApp, Timer as wxTimer, ) except ImportError: # older version of wxPython: - from wxPython.wx import wxPySimpleApp, wxCallAfter, wxTimer # type: ignore[import] + from wxPython.wx import wxPySimpleApp, wxCallAfter, wxTimer from twisted.internet import _threadedselect from twisted.python import log, runtime |