Add a default for ssl.SSLContext.__new__ on 3.10+ (#9635)

This commit is contained in:
Alex Waygood
2023-02-01 01:30:00 +00:00
committed by GitHub
parent 510bd460d2
commit 2539649560
3 changed files with 7 additions and 11 deletions

View File

@@ -380,7 +380,13 @@ class SSLContext:
post_handshake_auth: bool
if sys.version_info >= (3, 10):
security_level: int
def __new__(cls: type[Self], protocol: int = ..., *args: Any, **kwargs: Any) -> Self: ...
if sys.version_info >= (3, 10):
# Using the default (None) for the `protocol` parameter is deprecated,
# but there isn't a good way of marking that in the stub unless/until PEP 702 is accepted
def __new__(cls: type[Self], protocol: int | None = None, *args: Any, **kwargs: Any) -> Self: ...
else:
def __new__(cls: type[Self], protocol: int = ..., *args: Any, **kwargs: Any) -> Self: ...
def cert_store_stats(self) -> dict[str, int]: ...
def load_cert_chain(
self, certfile: StrOrBytesPath, keyfile: StrOrBytesPath | None = None, password: _PasswordType | None = None

View File

@@ -53,11 +53,6 @@ weakref.WeakValueDictionary.update
unittest.TestCase.__init_subclass__
unittest.case.TestCase.__init_subclass__
# stubtest complains that in 3.10 the default argument is inconsistent with the annotation,
# but in 3.10+ calling the function without the default argument is in fact deprecated,
# so it's better to ignore stubtest
ssl.SSLContext.__new__
# SpooledTemporaryFile implements IO except these methods before Python 3.11
# See also https://github.com/python/typeshed/pull/2452#issuecomment-420657918
tempfile.SpooledTemporaryFile.__next__

View File

@@ -47,11 +47,6 @@ weakref.WeakValueDictionary.update
unittest.TestCase.__init_subclass__
unittest.case.TestCase.__init_subclass__
# stubtest complains that in 3.10 the default argument is inconsistent with the annotation,
# but in 3.10+ calling the function without the default argument is in fact deprecated,
# so it's better to ignore stubtest
ssl.SSLContext.__new__
# ==========
# Related to positional-only arguments
# ==========