From b9dcd5e16bb2e94371f0c014a7fb20c35ee682eb Mon Sep 17 00:00:00 2001 From: Milan Boers Date: Wed, 27 Apr 2022 21:32:35 +0200 Subject: [PATCH 1/2] requests: allow str and bytes for fileobj in files parameter --- stubs/requests/requests/sessions.pyi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/stubs/requests/requests/sessions.pyi b/stubs/requests/requests/sessions.pyi index dea4ca83fc4a..32fb1e3a9f75 100644 --- a/stubs/requests/requests/sessions.pyi +++ b/stubs/requests/requests/sessions.pyi @@ -49,10 +49,10 @@ _Data: TypeAlias = str | bytes | Mapping[str, Any] | Iterable[tuple[str, str | N _Auth: TypeAlias = Union[tuple[str, str], _auth.AuthBase, Callable[[PreparedRequest], PreparedRequest]] _Cert: TypeAlias = Union[str, tuple[str, str]] _Files: TypeAlias = ( - MutableMapping[str, IO[Any]] - | MutableMapping[str, tuple[str | None, IO[Any]]] - | MutableMapping[str, tuple[str | None, IO[Any], str]] - | MutableMapping[str, tuple[str | None, IO[Any], str, _TextMapping]] + MutableMapping[str, IO[Any] | str | bytes] + | MutableMapping[str, tuple[str | None, IO[Any] | str | bytes]] + | MutableMapping[str, tuple[str | None, IO[Any] | str | bytes, str]] + | MutableMapping[str, tuple[str | None, IO[Any] | str | bytes, str, _TextMapping]] ) _Hook: TypeAlias = Callable[[Response], Any] _Hooks: TypeAlias = MutableMapping[str, _Hook | list[_Hook]] From b53e0d9abfbf6aa21d53a0cfbed15a06b7364f65 Mon Sep 17 00:00:00 2001 From: Milan Boers Date: Thu, 28 Apr 2022 10:02:56 +0200 Subject: [PATCH 2/2] requests: Use SupportsRead instead of IO for files --- stubs/requests/requests/sessions.pyi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/stubs/requests/requests/sessions.pyi b/stubs/requests/requests/sessions.pyi index 32fb1e3a9f75..a2245d37d619 100644 --- a/stubs/requests/requests/sessions.pyi +++ b/stubs/requests/requests/sessions.pyi @@ -1,4 +1,4 @@ -from _typeshed import Self, SupportsItems +from _typeshed import Self, SupportsItems, SupportsRead from collections.abc import Callable, Iterable, Mapping, MutableMapping from typing import IO, Any, Union from typing_extensions import TypeAlias @@ -49,10 +49,10 @@ _Data: TypeAlias = str | bytes | Mapping[str, Any] | Iterable[tuple[str, str | N _Auth: TypeAlias = Union[tuple[str, str], _auth.AuthBase, Callable[[PreparedRequest], PreparedRequest]] _Cert: TypeAlias = Union[str, tuple[str, str]] _Files: TypeAlias = ( - MutableMapping[str, IO[Any] | str | bytes] - | MutableMapping[str, tuple[str | None, IO[Any] | str | bytes]] - | MutableMapping[str, tuple[str | None, IO[Any] | str | bytes, str]] - | MutableMapping[str, tuple[str | None, IO[Any] | str | bytes, str, _TextMapping]] + MutableMapping[str, SupportsRead[str | bytes] | str | bytes] + | MutableMapping[str, tuple[str | None, SupportsRead[str | bytes] | str | bytes]] + | MutableMapping[str, tuple[str | None, SupportsRead[str | bytes] | str | bytes, str]] + | MutableMapping[str, tuple[str | None, SupportsRead[str | bytes] | str | bytes, str, _TextMapping]] ) _Hook: TypeAlias = Callable[[Response], Any] _Hooks: TypeAlias = MutableMapping[str, _Hook | list[_Hook]]