Bump urllib.request to 3.14 (#14062)

This commit is contained in:
Semyon Moroz
2025-05-14 10:21:46 +00:00
committed by GitHub
parent 05ec037300
commit fc1ee8fed9
3 changed files with 104 additions and 98 deletions
+99 -91
View File
@@ -7,7 +7,7 @@ from http.client import HTTPConnection, HTTPMessage, HTTPResponse
from http.cookiejar import CookieJar
from re import Pattern
from typing import IO, Any, ClassVar, NoReturn, Protocol, TypeVar, overload
from typing_extensions import TypeAlias
from typing_extensions import TypeAlias, deprecated
from urllib.error import HTTPError as HTTPError
from urllib.response import addclosehook, addinfourl
@@ -43,10 +43,10 @@ __all__ = [
"getproxies",
"urlretrieve",
"urlcleanup",
"URLopener",
"FancyURLopener",
"HTTPSHandler",
]
if sys.version_info < (3, 14):
__all__ += ["URLopener", "FancyURLopener"]
_T = TypeVar("_T")
_UrlopenRet: TypeAlias = Any
@@ -72,11 +72,16 @@ else:
def install_opener(opener: OpenerDirector) -> None: ...
def build_opener(*handlers: BaseHandler | Callable[[], BaseHandler]) -> OpenerDirector: ...
if sys.platform == "win32":
from nturl2path import pathname2url as pathname2url, url2pathname as url2pathname
if sys.version_info >= (3, 14):
def url2pathname(url: str, *, require_scheme: bool = False, resolve_host: bool = False) -> str: ...
def pathname2url(pathname: str, *, add_scheme: bool = False) -> str: ...
else:
def url2pathname(pathname: str) -> str: ...
def pathname2url(pathname: str) -> str: ...
if sys.platform == "win32":
from nturl2path import pathname2url as pathname2url, url2pathname as url2pathname
else:
def url2pathname(pathname: str) -> str: ...
def pathname2url(pathname: str) -> str: ...
def getproxies() -> dict[str, str]: ...
def getproxies_environment() -> dict[str, str]: ...
@@ -318,91 +323,94 @@ def urlretrieve(
) -> tuple[str, HTTPMessage]: ...
def urlcleanup() -> None: ...
class URLopener:
version: ClassVar[str]
def __init__(self, proxies: dict[str, str] | None = None, **x509: str) -> None: ...
def open(self, fullurl: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ...
def open_unknown(self, fullurl: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ...
def retrieve(
self,
url: str,
filename: str | None = None,
reporthook: Callable[[int, int, int], object] | None = None,
data: ReadableBuffer | None = None,
) -> tuple[str, Message | None]: ...
def addheader(self, *args: tuple[str, str]) -> None: ... # undocumented
def cleanup(self) -> None: ... # undocumented
def close(self) -> None: ... # undocumented
def http_error(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: bytes | None = None
) -> _UrlopenRet: ... # undocumented
def http_error_default(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage
) -> _UrlopenRet: ... # undocumented
def open_data(self, url: str, data: ReadableBuffer | None = None) -> addinfourl: ... # undocumented
def open_file(self, url: str) -> addinfourl: ... # undocumented
def open_ftp(self, url: str) -> addinfourl: ... # undocumented
def open_http(self, url: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ... # undocumented
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: ...
if sys.version_info < (3, 14):
@deprecated("Deprecated since Python 3.3; Removed in 3.14; Use newer urlopen functions and methods.")
class URLopener:
version: ClassVar[str]
def __init__(self, proxies: dict[str, str] | None = None, **x509: str) -> None: ...
def open(self, fullurl: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ...
def open_unknown(self, fullurl: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ...
def retrieve(
self,
url: str,
filename: str | None = None,
reporthook: Callable[[int, int, int], object] | None = None,
data: ReadableBuffer | None = None,
) -> tuple[str, Message | None]: ...
def addheader(self, *args: tuple[str, str]) -> None: ... # undocumented
def cleanup(self) -> None: ... # undocumented
def close(self) -> None: ... # undocumented
def http_error(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: bytes | None = None
) -> _UrlopenRet: ... # undocumented
def http_error_default(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage
) -> _UrlopenRet: ... # undocumented
def open_data(self, url: str, data: ReadableBuffer | None = None) -> addinfourl: ... # undocumented
def open_file(self, url: str) -> addinfourl: ... # undocumented
def open_ftp(self, url: str) -> addinfourl: ... # undocumented
def open_http(self, url: str, data: ReadableBuffer | None = None) -> _UrlopenRet: ... # undocumented
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]: ...
def get_user_passwd(self, host: str, realm: str, clear_cache: int = 0) -> tuple[str, str]: ... # undocumented
def http_error_301(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
) -> _UrlopenRet | addinfourl | None: ... # undocumented
def http_error_302(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
) -> _UrlopenRet | addinfourl | None: ... # undocumented
def http_error_303(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
) -> _UrlopenRet | addinfourl | None: ... # undocumented
def http_error_307(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
) -> _UrlopenRet | addinfourl | None: ... # undocumented
if sys.version_info >= (3, 11):
def http_error_308(
@deprecated("Deprecated since Python 3.3; Removed in 3.14; Use newer urlopen functions and methods.")
class FancyURLopener(URLopener):
def prompt_user_passwd(self, host: str, realm: str) -> tuple[str, str]: ...
def get_user_passwd(self, host: str, realm: str, clear_cache: int = 0) -> tuple[str, str]: ... # undocumented
def http_error_301(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
) -> _UrlopenRet | addinfourl | None: ... # undocumented
def http_error_302(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
) -> _UrlopenRet | addinfourl | None: ... # undocumented
def http_error_303(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
) -> _UrlopenRet | addinfourl | None: ... # undocumented
def http_error_307(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
) -> _UrlopenRet | addinfourl | None: ... # undocumented
if sys.version_info >= (3, 11):
def http_error_308(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None = None
) -> _UrlopenRet | addinfourl | None: ... # undocumented
def http_error_401(
self,
url: str,
fp: IO[bytes],
errcode: int,
errmsg: str,
headers: HTTPMessage,
data: ReadableBuffer | None = None,
retry: bool = False,
) -> _UrlopenRet | None: ... # undocumented
def http_error_407(
self,
url: str,
fp: IO[bytes],
errcode: int,
errmsg: str,
headers: HTTPMessage,
data: ReadableBuffer | None = None,
retry: bool = False,
) -> _UrlopenRet | None: ... # undocumented
def http_error_default(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage
) -> addinfourl: ... # undocumented
def redirect_internal(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None
) -> _UrlopenRet | None: ... # undocumented
def retry_http_basic_auth(
self, url: str, realm: str, data: ReadableBuffer | None = None
) -> _UrlopenRet | None: ... # undocumented
def retry_https_basic_auth(
self, url: str, realm: str, data: ReadableBuffer | None = None
) -> _UrlopenRet | None: ... # undocumented
def retry_proxy_http_basic_auth(
self, url: str, realm: str, data: ReadableBuffer | None = None
) -> _UrlopenRet | None: ... # undocumented
def retry_proxy_https_basic_auth(
self, url: str, realm: str, data: ReadableBuffer | None = None
) -> _UrlopenRet | None: ... # undocumented
def http_error_401(
self,
url: str,
fp: IO[bytes],
errcode: int,
errmsg: str,
headers: HTTPMessage,
data: ReadableBuffer | None = None,
retry: bool = False,
) -> _UrlopenRet | None: ... # undocumented
def http_error_407(
self,
url: str,
fp: IO[bytes],
errcode: int,
errmsg: str,
headers: HTTPMessage,
data: ReadableBuffer | None = None,
retry: bool = False,
) -> _UrlopenRet | None: ... # undocumented
def http_error_default(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage
) -> addinfourl: ... # undocumented
def redirect_internal(
self, url: str, fp: IO[bytes], errcode: int, errmsg: str, headers: HTTPMessage, data: ReadableBuffer | None
) -> _UrlopenRet | None: ... # undocumented
def retry_http_basic_auth(
self, url: str, realm: str, data: ReadableBuffer | None = None
) -> _UrlopenRet | None: ... # undocumented
def retry_https_basic_auth(
self, url: str, realm: str, data: ReadableBuffer | None = None
) -> _UrlopenRet | None: ... # undocumented
def retry_proxy_http_basic_auth(
self, url: str, realm: str, data: ReadableBuffer | None = None
) -> _UrlopenRet | None: ... # undocumented
def retry_proxy_https_basic_auth(
self, url: str, realm: str, data: ReadableBuffer | None = None
) -> _UrlopenRet | None: ... # undocumented