From aa59fe95cadb6937718124a672342b722ce73545 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Fri, 30 Jun 2023 19:39:06 +0300 Subject: [PATCH 1/4] Fix signature of `http.client.HTTPSConnection for Python3.12 --- stdlib/http/client.pyi | 38 +++++++++++++++++++---------- tests/stubtest_allowlists/py312.txt | 1 - 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/stdlib/http/client.pyi b/stdlib/http/client.pyi index 9c7c0c1c4a12..19d51f02d213 100644 --- a/stdlib/http/client.pyi +++ b/stdlib/http/client.pyi @@ -175,19 +175,31 @@ class HTTPConnection: class HTTPSConnection(HTTPConnection): # Can be `None` if `.connect()` was not called: sock: ssl.SSLSocket | Any - def __init__( - self, - host: str, - port: int | None = None, - key_file: str | None = None, - cert_file: str | None = None, - timeout: float | None = ..., - source_address: tuple[str, int] | None = None, - *, - context: ssl.SSLContext | None = None, - check_hostname: bool | None = None, - blocksize: int = 8192, - ) -> None: ... + if sys.version_info >= (3, 12): + def __init__( + self, + host: str, + port: str, + *, + timeout: float | None = ..., + source_address: tuple[str, int] | None = None, + context: ssl.SSLContext | None = None, + blocksize: int = 8192, + ) -> None: ... + else: + def __init__( + self, + host: str, + port: int | None = None, + key_file: str | None = None, + cert_file: str | None = None, + timeout: float | None = ..., + source_address: tuple[str, int] | None = None, + *, + context: ssl.SSLContext | None = None, + check_hostname: bool | None = None, + blocksize: int = 8192, + ) -> None: ... class HTTPException(Exception): ... diff --git a/tests/stubtest_allowlists/py312.txt b/tests/stubtest_allowlists/py312.txt index 7c5a30f8db85..0676d07211a8 100644 --- a/tests/stubtest_allowlists/py312.txt +++ b/tests/stubtest_allowlists/py312.txt @@ -30,7 +30,6 @@ genericpath.__all__ genericpath.islink gzip.GzipFile.filename http.client.HTTPConnection.get_proxy_response_headers -http.client.HTTPSConnection.__init__ imaplib.IMAP4_SSL.__init__ importlib.abc.Finder importlib.abc.Loader.module_repr From ae13114c208805060f3c039d42f8f3c2a0c25a55 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Fri, 30 Jun 2023 19:43:08 +0300 Subject: [PATCH 2/4] Fix CI --- stdlib/http/client.pyi | 1 + 1 file changed, 1 insertion(+) diff --git a/stdlib/http/client.pyi b/stdlib/http/client.pyi index 19d51f02d213..2f6fbcac1b99 100644 --- a/stdlib/http/client.pyi +++ b/stdlib/http/client.pyi @@ -1,6 +1,7 @@ import email.message import io import ssl +import sys import types from _typeshed import ReadableBuffer, SupportsRead, WriteableBuffer from collections.abc import Callable, Iterable, Iterator, Mapping From d82d775e4dbf687ce7e27993322709bd25c3f908 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Fri, 30 Jun 2023 19:48:04 +0300 Subject: [PATCH 3/4] Fix CI --- stdlib/http/client.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/http/client.pyi b/stdlib/http/client.pyi index 2f6fbcac1b99..5fa3ed1aebe1 100644 --- a/stdlib/http/client.pyi +++ b/stdlib/http/client.pyi @@ -180,7 +180,7 @@ class HTTPSConnection(HTTPConnection): def __init__( self, host: str, - port: str, + port: str : None = None, *, timeout: float | None = ..., source_address: tuple[str, int] | None = None, From ec387f7078a91cc6c3d9fb76b14060190b58aba6 Mon Sep 17 00:00:00 2001 From: sobolevn Date: Fri, 30 Jun 2023 19:53:41 +0300 Subject: [PATCH 4/4] Fix CI --- stdlib/http/client.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/http/client.pyi b/stdlib/http/client.pyi index 5fa3ed1aebe1..41ece1b050b8 100644 --- a/stdlib/http/client.pyi +++ b/stdlib/http/client.pyi @@ -180,7 +180,7 @@ class HTTPSConnection(HTTPConnection): def __init__( self, host: str, - port: str : None = None, + port: str | None = None, *, timeout: float | None = ..., source_address: tuple[str, int] | None = None,