diff --git a/stdlib/3/email/__init__.pyi b/stdlib/3/email/__init__.pyi index 8962ed579..4d50f098c 100644 --- a/stdlib/3/email/__init__.pyi +++ b/stdlib/3/email/__init__.pyi @@ -1,6 +1,6 @@ # Stubs for email (Python 3.4) -from typing import Callable, Optional, BinaryIO, TextIO +from typing import Callable, Optional, IO import sys from email.message import Message, Policy @@ -9,9 +9,9 @@ if sys.version_info >= (3, 3): policy: Policy = ...) -> Message: ... def message_from_bytes(s: bytes, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ... - def message_from_file(fp: TextIO, _class: Callable[[], Message] = ..., *, + def message_from_file(fp: IO[str], _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ... - def message_from_binary_file(fp: BinaryIO, + def message_from_binary_file(fp: IO[bytes], _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ... elif sys.version_info >= (3, 2): @@ -21,10 +21,10 @@ elif sys.version_info >= (3, 2): def message_from_bytes(s: bytes, # type: ignore _class: Callable[[], Message] = ..., *, strict: Optional[bool] = ...) -> Message: ... - def message_from_file(fp: TextIO, # type: ignore + def message_from_file(fp: IO[str], # type: ignore _class: Callable[[], Message] = ..., *, strict: Optional[bool] = ...) -> Message: ... - def message_from_binary_file(fp: BinaryIO, # type: ignore + def message_from_binary_file(fp: IO[bytes], # type: ignore _class: Callable[[], Message] = ..., *, strict: Optional[bool] = ...) -> Message: ... diff --git a/stdlib/3/email/message.pyi b/stdlib/3/email/message.pyi index d44a77f83..4bf3ca386 100644 --- a/stdlib/3/email/message.pyi +++ b/stdlib/3/email/message.pyi @@ -11,7 +11,7 @@ from email.contentmanager import ContentManager _T = TypeVar('_T') -_PayloadType = Union[List[Message], str] +_PayloadType = Union[List[Message], str, bytes] _CharsetType = Union[Charset, str, None] _ParamsType = Union[str, None, Tuple[str, Optional[str], str]] _ParamType = Union[str, Tuple[Optional[str], Optional[str], str]] @@ -25,7 +25,8 @@ class Message: def set_unixfrom(self, unixfrom: str) -> None: ... def get_unixfrom(self) -> Optional[str]: ... def attach(self, payload: 'Message') -> None: ... - def get_payload(self, i: int = ..., decode: bool = ...) -> _PayloadType: ... + def get_payload(self, i: int = ..., decode: bool = ...) \ + -> Optional[_PayloadType]: ... def set_payload(self, payload: _PayloadType, charset: _CharsetType = ...) -> None: ... def set_charset(self, charset: _CharsetType) -> None: ...