1# Stubs for email.message (Python 3.4) 2 3from typing import ( 4 List, Optional, Union, Tuple, TypeVar, Generator, Sequence, Iterator, Any 5) 6from email.charset import Charset 7from email.errors import MessageDefect 8from email.header import Header 9from email.policy import Policy 10from email.contentmanager import ContentManager 11 12_T = TypeVar('_T') 13 14_PayloadType = Union[List[Message], str, bytes] 15_CharsetType = Union[Charset, str, None] 16_ParamsType = Union[str, None, Tuple[str, Optional[str], str]] 17_ParamType = Union[str, Tuple[Optional[str], Optional[str], str]] 18_HeaderType = Any 19 20class Message: 21 preamble: Optional[str] 22 epilogue: Optional[str] 23 defects: List[MessageDefect] 24 def __str__(self) -> str: ... 25 def is_multipart(self) -> bool: ... 26 def set_unixfrom(self, unixfrom: str) -> None: ... 27 def get_unixfrom(self) -> Optional[str]: ... 28 def attach(self, payload: Message) -> None: ... 29 def get_payload(self, i: int = ..., decode: bool = ...) -> Any: ... # returns Optional[_PayloadType] 30 def set_payload(self, payload: _PayloadType, 31 charset: _CharsetType = ...) -> None: ... 32 def set_charset(self, charset: _CharsetType) -> None: ... 33 def get_charset(self) -> _CharsetType: ... 34 def __len__(self) -> int: ... 35 def __contains__(self, name: str) -> bool: ... 36 def __getitem__(self, name: str) -> _HeaderType: ... 37 def __setitem__(self, name: str, val: _HeaderType) -> None: ... 38 def __delitem__(self, name: str) -> None: ... 39 def keys(self) -> List[str]: ... 40 def values(self) -> List[_HeaderType]: ... 41 def items(self) -> List[Tuple[str, _HeaderType]]: ... 42 def get(self, name: str, failobj: _T = ...) -> Union[_HeaderType, _T]: ... 43 def get_all(self, name: str, failobj: _T = ...) -> Union[List[_HeaderType], _T]: ... 44 def add_header(self, _name: str, _value: str, **_params: _ParamsType) -> None: ... 45 def replace_header(self, _name: str, _value: _HeaderType) -> None: ... 46 def get_content_type(self) -> str: ... 47 def get_content_maintype(self) -> str: ... 48 def get_content_subtype(self) -> str: ... 49 def get_default_type(self) -> str: ... 50 def set_default_type(self, ctype: str) -> None: ... 51 def get_params(self, failobj: _T = ..., header: str = ..., 52 unquote: bool = ...) -> Union[List[Tuple[str, str]], _T]: ... 53 def get_param(self, param: str, failobj: _T = ..., header: str = ..., 54 unquote: bool = ...) -> Union[_T, _ParamType]: ... 55 def del_param(self, param: str, header: str = ..., 56 requote: bool = ...) -> None: ... 57 def set_type(self, type: str, header: str = ..., 58 requote: bool = ...) -> None: ... 59 def get_filename(self, failobj: _T = ...) -> Union[_T, str]: ... 60 def get_boundary(self, failobj: _T = ...) -> Union[_T, str]: ... 61 def set_boundary(self, boundary: str) -> None: ... 62 def get_content_charset(self, failobj: _T = ...) -> Union[_T, str]: ... 63 def get_charsets(self, failobj: _T = ...) -> Union[_T, List[str]]: ... 64 def walk(self) -> Generator[Message, None, None]: ... 65 def get_content_disposition(self) -> Optional[str]: ... 66 def as_string(self, unixfrom: bool = ..., maxheaderlen: int = ..., 67 policy: Optional[Policy] = ...) -> str: ... 68 def as_bytes(self, unixfrom: bool = ..., 69 policy: Optional[Policy] = ...) -> bytes: ... 70 def __bytes__(self) -> bytes: ... 71 def set_param(self, param: str, value: str, header: str = ..., 72 requote: bool = ..., charset: str = ..., 73 language: str = ..., replace: bool = ...) -> None: ... 74 def __init__(self, policy: Policy = ...) -> None: ... 75 76class MIMEPart(Message): 77 def get_body(self, 78 preferencelist: Sequence[str] = ...) -> Optional[Message]: ... 79 def iter_attachments(self) -> Iterator[Message]: ... 80 def iter_parts(self) -> Iterator[Message]: ... 81 def get_content(self, *args: Any, 82 content_manager: Optional[ContentManager] = ..., 83 **kw: Any) -> Any: ... 84 def set_content(self, *args: Any, 85 content_manager: Optional[ContentManager] = ..., 86 **kw: Any) -> None: ... 87 def make_related(self, boundary: Optional[str] = ...) -> None: ... 88 def make_alternative(self, boundary: Optional[str] = ...) -> None: ... 89 def make_mixed(self, boundary: Optional[str] = ...) -> None: ... 90 def add_related(self, *args: Any, 91 content_manager: Optional[ContentManager] = ..., 92 **kw: Any) -> None: ... 93 def add_alternative(self, *args: Any, 94 content_manager: Optional[ContentManager] = ..., 95 **kw: Any) -> None: ... 96 def add_attachment(self, *args: Any, 97 content_manager: Optional[ContentManager] = ..., 98 **kw: Any) -> None: ... 99 def clear(self) -> None: ... 100 def clear_content(self) -> None: ... 101 def is_attachment(self) -> bool: ... 102 103class EmailMessage(MIMEPart): ... 104