mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-24 21:01:52 +08:00
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:
committed by
Matthias Kramm
parent
26ea6c0740
commit
66821993f6
@@ -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: ...
|
||||
|
||||
Reference in New Issue
Block a user