Fix email header types (#1472)

Some email header operations can operate on or return a Header object as well as a string.
This commit is contained in:
Daniel Axtens
2017-11-10 01:03:11 +11:00
committed by Matthias Kramm
parent 26ea6c0740
commit 66821993f6

View File

@@ -6,6 +6,7 @@ from typing import (
import sys
from email.charset import Charset
from email.errors import MessageDefect
from email.header import Header
if sys.version_info >= (3, 3):
from email.policy import Policy
if sys.version_info >= (3, 4):
@@ -19,6 +20,7 @@ _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]]
_HeaderType = Union[str, Header]
class Message:
preamble = ... # type: Optional[str]
@@ -36,16 +38,16 @@ class Message:
def get_charset(self) -> _CharsetType: ...
def __len__(self) -> int: ...
def __contains__(self, name: str) -> bool: ...
def __getitem__(self, name: str) -> Optional[str]: ...
def __setitem__(self, name: str, val: str) -> None: ...
def __getitem__(self, name: str) -> Optional[_HeaderType]: ...
def __setitem__(self, name: str, val: _HeaderType) -> None: ...
def __delitem__(self, name: str) -> None: ...
def keys(self) -> List[str]: ...
def values(self) -> List[str]: ...
def items(self) -> List[Tuple[str, str]]: ...
def get(self, name: str, failobj: _T = ...) -> Union[str, _T]: ...
def get_all(self, name: str, failobj: _T = ...) -> Union[List[str], _T]: ...
def values(self) -> List[_HeaderType]: ...
def items(self) -> List[Tuple[str, _HeaderType]]: ...
def get(self, name: str, failobj: _T = ...) -> Union[_HeaderType, _T]: ...
def get_all(self, name: str, failobj: _T = ...) -> Union[List[_HeaderType], _T]: ...
def add_header(self, _name: str, _value: str, **_params: _ParamsType) -> None: ...
def replace_header(self, _name: str, _value: str) -> None: ...
def replace_header(self, _name: str, _value: _HeaderType) -> None: ...
def get_content_type(self) -> str: ...
def get_content_maintype(self) -> str: ...
def get_content_subtype(self) -> str: ...