mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-16 00:37:10 +08:00
stdlib: add argument default values (#9501)
This commit is contained in:
@@ -39,8 +39,8 @@ class TokenList(list[TokenList | Terminal]):
|
||||
@property
|
||||
def comments(self) -> list[str]: ...
|
||||
def fold(self, *, policy: Policy) -> str: ...
|
||||
def pprint(self, indent: str = ...) -> None: ...
|
||||
def ppstr(self, indent: str = ...) -> str: ...
|
||||
def pprint(self, indent: str = "") -> None: ...
|
||||
def ppstr(self, indent: str = "") -> str: ...
|
||||
|
||||
class WhiteSpaceTokenList(TokenList): ...
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@ __all__ = ["body_decode", "body_encode", "decode", "decodestring", "header_encod
|
||||
from _typeshed import ReadableBuffer
|
||||
|
||||
def header_length(bytearray: str | bytes | bytearray) -> int: ...
|
||||
def header_encode(header_bytes: str | ReadableBuffer, charset: str = ...) -> str: ...
|
||||
def header_encode(header_bytes: str | ReadableBuffer, charset: str = "iso-8859-1") -> str: ...
|
||||
|
||||
# First argument should be a buffer that supports slicing and len().
|
||||
def body_encode(s: bytes | bytearray, maxlinelen: int = ..., eol: str = ...) -> str: ...
|
||||
def body_encode(s: bytes | bytearray, maxlinelen: int = 76, eol: str = "\n") -> str: ...
|
||||
def decode(string: str | ReadableBuffer) -> bytes: ...
|
||||
|
||||
body_decode = decode
|
||||
|
||||
@@ -13,7 +13,7 @@ class Charset:
|
||||
output_charset: str | None
|
||||
input_codec: str | None
|
||||
output_codec: str | None
|
||||
def __init__(self, input_charset: str = ...) -> None: ...
|
||||
def __init__(self, input_charset: str = "us-ascii") -> None: ...
|
||||
def get_body_encoding(self) -> str: ...
|
||||
def get_output_charset(self) -> str | None: ...
|
||||
def header_encode(self, string: str) -> str: ...
|
||||
@@ -23,7 +23,7 @@ class Charset:
|
||||
def __ne__(self, __other: object) -> bool: ...
|
||||
|
||||
def add_charset(
|
||||
charset: str, header_enc: int | None = ..., body_enc: int | None = ..., output_charset: str | None = ...
|
||||
charset: str, header_enc: int | None = None, body_enc: int | None = None, output_charset: str | None = None
|
||||
) -> None: ...
|
||||
def add_alias(alias: str, canonical: str) -> None: ...
|
||||
def add_codec(charset: str, codecname: str) -> None: ...
|
||||
|
||||
@@ -8,7 +8,7 @@ class MultipartConversionError(MessageError, TypeError): ...
|
||||
class CharsetError(MessageError): ...
|
||||
|
||||
class MessageDefect(ValueError):
|
||||
def __init__(self, line: str | None = ...) -> None: ...
|
||||
def __init__(self, line: str | None = None) -> None: ...
|
||||
|
||||
class NoBoundaryInMultipartDefect(MessageDefect): ...
|
||||
class StartBoundaryNotFoundDefect(MessageDefect): ...
|
||||
|
||||
@@ -10,12 +10,12 @@ class Generator:
|
||||
def __init__(
|
||||
self,
|
||||
outfp: SupportsWrite[str],
|
||||
mangle_from_: bool | None = ...,
|
||||
maxheaderlen: int | None = ...,
|
||||
mangle_from_: bool | None = None,
|
||||
maxheaderlen: int | None = None,
|
||||
*,
|
||||
policy: Policy | None = ...,
|
||||
policy: Policy | None = None,
|
||||
) -> None: ...
|
||||
def flatten(self, msg: Message, unixfrom: bool = ..., linesep: str | None = ...) -> None: ...
|
||||
def flatten(self, msg: Message, unixfrom: bool = False, linesep: str | None = None) -> None: ...
|
||||
|
||||
class BytesGenerator:
|
||||
def clone(self, fp: SupportsWrite[bytes]) -> BytesGenerator: ...
|
||||
@@ -23,20 +23,20 @@ class BytesGenerator:
|
||||
def __init__(
|
||||
self,
|
||||
outfp: SupportsWrite[bytes],
|
||||
mangle_from_: bool | None = ...,
|
||||
maxheaderlen: int | None = ...,
|
||||
mangle_from_: bool | None = None,
|
||||
maxheaderlen: int | None = None,
|
||||
*,
|
||||
policy: Policy | None = ...,
|
||||
policy: Policy | None = None,
|
||||
) -> None: ...
|
||||
def flatten(self, msg: Message, unixfrom: bool = ..., linesep: str | None = ...) -> None: ...
|
||||
def flatten(self, msg: Message, unixfrom: bool = False, linesep: str | None = None) -> None: ...
|
||||
|
||||
class DecodedGenerator(Generator):
|
||||
def __init__(
|
||||
self,
|
||||
outfp: SupportsWrite[str],
|
||||
mangle_from_: bool | None = ...,
|
||||
maxheaderlen: int | None = ...,
|
||||
fmt: str | None = ...,
|
||||
mangle_from_: bool | None = None,
|
||||
maxheaderlen: int | None = None,
|
||||
fmt: str | None = None,
|
||||
*,
|
||||
policy: Policy | None = ...,
|
||||
policy: Policy | None = None,
|
||||
) -> None: ...
|
||||
|
||||
@@ -7,15 +7,15 @@ __all__ = ["Header", "decode_header", "make_header"]
|
||||
class Header:
|
||||
def __init__(
|
||||
self,
|
||||
s: bytes | bytearray | str | None = ...,
|
||||
charset: Charset | str | None = ...,
|
||||
maxlinelen: int | None = ...,
|
||||
header_name: str | None = ...,
|
||||
continuation_ws: str = ...,
|
||||
errors: str = ...,
|
||||
s: bytes | bytearray | str | None = None,
|
||||
charset: Charset | str | None = None,
|
||||
maxlinelen: int | None = None,
|
||||
header_name: str | None = None,
|
||||
continuation_ws: str = " ",
|
||||
errors: str = "strict",
|
||||
) -> None: ...
|
||||
def append(self, s: bytes | bytearray | str, charset: Charset | str | None = ..., errors: str = ...) -> None: ...
|
||||
def encode(self, splitchars: str = ..., maxlinelen: int | None = ..., linesep: str = ...) -> str: ...
|
||||
def append(self, s: bytes | bytearray | str, charset: Charset | str | None = None, errors: str = "strict") -> None: ...
|
||||
def encode(self, splitchars: str = ";, \t", maxlinelen: int | None = None, linesep: str = "\n") -> str: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
def __ne__(self, __other: object) -> bool: ...
|
||||
|
||||
@@ -25,7 +25,7 @@ class Header:
|
||||
def decode_header(header: Header | str) -> list[tuple[Any, Any | None]]: ...
|
||||
def make_header(
|
||||
decoded_seq: Iterable[tuple[bytes | bytearray | str, str | None]],
|
||||
maxlinelen: int | None = ...,
|
||||
header_name: str | None = ...,
|
||||
continuation_ws: str = ...,
|
||||
maxlinelen: int | None = None,
|
||||
header_name: str | None = None,
|
||||
continuation_ws: str = " ",
|
||||
) -> Header: ...
|
||||
|
||||
@@ -153,7 +153,7 @@ class HeaderRegistry:
|
||||
base_class: type[BaseHeader]
|
||||
default_class: type[_HeaderParser]
|
||||
def __init__(
|
||||
self, base_class: type[BaseHeader] = ..., default_class: type[_HeaderParser] = ..., use_default_map: bool = ...
|
||||
self, base_class: type[BaseHeader] = ..., default_class: type[_HeaderParser] = ..., use_default_map: bool = True
|
||||
) -> None: ...
|
||||
def map_to_type(self, name: str, cls: type[BaseHeader]) -> None: ...
|
||||
def __getitem__(self, name: str) -> type[BaseHeader]: ...
|
||||
@@ -169,7 +169,7 @@ class Address:
|
||||
@property
|
||||
def addr_spec(self) -> str: ...
|
||||
def __init__(
|
||||
self, display_name: str = ..., username: str | None = ..., domain: str | None = ..., addr_spec: str | None = ...
|
||||
self, display_name: str = "", username: str | None = "", domain: str | None = "", addr_spec: str | None = None
|
||||
) -> None: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
|
||||
@@ -178,5 +178,5 @@ class Group:
|
||||
def display_name(self) -> str | None: ...
|
||||
@property
|
||||
def addresses(self) -> tuple[Address, ...]: ...
|
||||
def __init__(self, display_name: str | None = ..., addresses: Iterable[Address] | None = ...) -> None: ...
|
||||
def __init__(self, display_name: str | None = None, addresses: Iterable[Address] | None = None) -> None: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
|
||||
@@ -4,9 +4,9 @@ from email.message import Message
|
||||
|
||||
__all__ = ["body_line_iterator", "typed_subpart_iterator", "walk"]
|
||||
|
||||
def body_line_iterator(msg: Message, decode: bool = ...) -> Iterator[str]: ...
|
||||
def typed_subpart_iterator(msg: Message, maintype: str = ..., subtype: str | None = ...) -> Iterator[str]: ...
|
||||
def body_line_iterator(msg: Message, decode: bool = False) -> Iterator[str]: ...
|
||||
def typed_subpart_iterator(msg: Message, maintype: str = "text", subtype: str | None = None) -> Iterator[str]: ...
|
||||
def walk(self: Message) -> Iterator[Message]: ...
|
||||
|
||||
# We include the seemingly private function because it is documented in the stdlib documentation.
|
||||
def _structure(msg: Message, fp: SupportsWrite[str] | None = ..., level: int = ..., include_default: bool = ...) -> None: ...
|
||||
def _structure(msg: Message, fp: SupportsWrite[str] | None = None, level: int = 0, include_default: bool = False) -> None: ...
|
||||
|
||||
@@ -25,8 +25,8 @@ class Message:
|
||||
def set_unixfrom(self, unixfrom: str) -> None: ...
|
||||
def get_unixfrom(self) -> str | None: ...
|
||||
def attach(self, payload: Message) -> None: ...
|
||||
def get_payload(self, i: int | None = ..., decode: bool = ...) -> Any: ... # returns _PayloadType | None
|
||||
def set_payload(self, payload: _PayloadType, charset: _CharsetType = ...) -> None: ...
|
||||
def get_payload(self, i: int | None = None, decode: bool = False) -> Any: ... # returns _PayloadType | None
|
||||
def set_payload(self, payload: _PayloadType, charset: _CharsetType = None) -> None: ...
|
||||
def set_charset(self, charset: _CharsetType) -> None: ...
|
||||
def get_charset(self) -> _CharsetType: ...
|
||||
def __len__(self) -> int: ...
|
||||
@@ -47,10 +47,10 @@ class Message:
|
||||
def get_content_subtype(self) -> str: ...
|
||||
def get_default_type(self) -> str: ...
|
||||
def set_default_type(self, ctype: str) -> None: ...
|
||||
def get_params(self, failobj: _T = ..., header: str = ..., unquote: bool = ...) -> list[tuple[str, str]] | _T: ...
|
||||
def get_param(self, param: str, failobj: _T = ..., header: str = ..., unquote: bool = ...) -> _T | _ParamType: ...
|
||||
def del_param(self, param: str, header: str = ..., requote: bool = ...) -> None: ...
|
||||
def set_type(self, type: str, header: str = ..., requote: bool = ...) -> None: ...
|
||||
def get_params(self, failobj: _T = ..., header: str = "content-type", unquote: bool = True) -> list[tuple[str, str]] | _T: ...
|
||||
def get_param(self, param: str, failobj: _T = ..., header: str = "content-type", unquote: bool = True) -> _T | _ParamType: ...
|
||||
def del_param(self, param: str, header: str = "content-type", requote: bool = True) -> None: ...
|
||||
def set_type(self, type: str, header: str = "Content-Type", requote: bool = True) -> None: ...
|
||||
def get_filename(self, failobj: _T = ...) -> _T | str: ...
|
||||
def get_boundary(self, failobj: _T = ...) -> _T | str: ...
|
||||
def set_boundary(self, boundary: str) -> None: ...
|
||||
@@ -61,18 +61,18 @@ class Message:
|
||||
def get_charsets(self, failobj: _T = ...) -> _T | list[str]: ...
|
||||
def walk(self: Self) -> Generator[Self, None, None]: ...
|
||||
def get_content_disposition(self) -> str | None: ...
|
||||
def as_string(self, unixfrom: bool = ..., maxheaderlen: int = ..., policy: Policy | None = ...) -> str: ...
|
||||
def as_bytes(self, unixfrom: bool = ..., policy: Policy | None = ...) -> bytes: ...
|
||||
def as_string(self, unixfrom: bool = False, maxheaderlen: int = 0, policy: Policy | None = None) -> str: ...
|
||||
def as_bytes(self, unixfrom: bool = False, policy: Policy | None = None) -> bytes: ...
|
||||
def __bytes__(self) -> bytes: ...
|
||||
def set_param(
|
||||
self,
|
||||
param: str,
|
||||
value: str,
|
||||
header: str = ...,
|
||||
requote: bool = ...,
|
||||
charset: str | None = ...,
|
||||
language: str = ...,
|
||||
replace: bool = ...,
|
||||
header: str = "Content-Type",
|
||||
requote: bool = True,
|
||||
charset: str | None = None,
|
||||
language: str = "",
|
||||
replace: bool = False,
|
||||
) -> None: ...
|
||||
def __init__(self, policy: Policy = ...) -> None: ...
|
||||
# The following two methods are undocumented, but a source code comment states that they are public API
|
||||
@@ -80,21 +80,21 @@ class Message:
|
||||
def raw_items(self) -> Iterator[tuple[str, _HeaderType]]: ...
|
||||
|
||||
class MIMEPart(Message):
|
||||
def __init__(self, policy: Policy | None = ...) -> None: ...
|
||||
def __init__(self, policy: Policy | None = None) -> None: ...
|
||||
def get_body(self, preferencelist: Sequence[str] = ...) -> Message | None: ...
|
||||
def iter_attachments(self) -> Iterator[Message]: ...
|
||||
def iter_parts(self) -> Iterator[Message]: ...
|
||||
def get_content(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> Any: ...
|
||||
def set_content(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...
|
||||
def make_related(self, boundary: str | None = ...) -> None: ...
|
||||
def make_alternative(self, boundary: str | None = ...) -> None: ...
|
||||
def make_mixed(self, boundary: str | None = ...) -> None: ...
|
||||
def get_content(self, *args: Any, content_manager: ContentManager | None = None, **kw: Any) -> Any: ...
|
||||
def set_content(self, *args: Any, content_manager: ContentManager | None = None, **kw: Any) -> None: ...
|
||||
def make_related(self, boundary: str | None = None) -> None: ...
|
||||
def make_alternative(self, boundary: str | None = None) -> None: ...
|
||||
def make_mixed(self, boundary: str | None = None) -> None: ...
|
||||
def add_related(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...
|
||||
def add_alternative(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...
|
||||
def add_attachment(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...
|
||||
def clear(self) -> None: ...
|
||||
def clear_content(self) -> None: ...
|
||||
def as_string(self, unixfrom: bool = ..., maxheaderlen: int | None = ..., policy: Policy | None = ...) -> str: ...
|
||||
def as_string(self, unixfrom: bool = False, maxheaderlen: int | None = None, policy: Policy | None = None) -> str: ...
|
||||
def is_attachment(self) -> bool: ...
|
||||
|
||||
class EmailMessage(MIMEPart): ...
|
||||
|
||||
@@ -9,9 +9,9 @@ class MIMEApplication(MIMENonMultipart):
|
||||
def __init__(
|
||||
self,
|
||||
_data: str | bytes | bytearray,
|
||||
_subtype: str = ...,
|
||||
_subtype: str = "octet-stream",
|
||||
_encoder: Callable[[MIMEApplication], object] = ...,
|
||||
*,
|
||||
policy: Policy | None = ...,
|
||||
policy: Policy | None = None,
|
||||
**_params: _ParamsType,
|
||||
) -> None: ...
|
||||
|
||||
@@ -9,9 +9,9 @@ class MIMEAudio(MIMENonMultipart):
|
||||
def __init__(
|
||||
self,
|
||||
_audiodata: str | bytes | bytearray,
|
||||
_subtype: str | None = ...,
|
||||
_subtype: str | None = None,
|
||||
_encoder: Callable[[MIMEAudio], object] = ...,
|
||||
*,
|
||||
policy: Policy | None = ...,
|
||||
policy: Policy | None = None,
|
||||
**_params: _ParamsType,
|
||||
) -> None: ...
|
||||
|
||||
@@ -5,4 +5,4 @@ from email.policy import Policy
|
||||
__all__ = ["MIMEBase"]
|
||||
|
||||
class MIMEBase(email.message.Message):
|
||||
def __init__(self, _maintype: str, _subtype: str, *, policy: Policy | None = ..., **_params: _ParamsType) -> None: ...
|
||||
def __init__(self, _maintype: str, _subtype: str, *, policy: Policy | None = None, **_params: _ParamsType) -> None: ...
|
||||
|
||||
@@ -9,9 +9,9 @@ class MIMEImage(MIMENonMultipart):
|
||||
def __init__(
|
||||
self,
|
||||
_imagedata: str | bytes | bytearray,
|
||||
_subtype: str | None = ...,
|
||||
_subtype: str | None = None,
|
||||
_encoder: Callable[[MIMEImage], object] = ...,
|
||||
*,
|
||||
policy: Policy | None = ...,
|
||||
policy: Policy | None = None,
|
||||
**_params: _ParamsType,
|
||||
) -> None: ...
|
||||
|
||||
@@ -5,4 +5,4 @@ from email.policy import Policy
|
||||
__all__ = ["MIMEMessage"]
|
||||
|
||||
class MIMEMessage(MIMENonMultipart):
|
||||
def __init__(self, _msg: Message, _subtype: str = ..., *, policy: Policy | None = ...) -> None: ...
|
||||
def __init__(self, _msg: Message, _subtype: str = "rfc822", *, policy: Policy | None = None) -> None: ...
|
||||
|
||||
@@ -9,10 +9,10 @@ __all__ = ["MIMEMultipart"]
|
||||
class MIMEMultipart(MIMEBase):
|
||||
def __init__(
|
||||
self,
|
||||
_subtype: str = ...,
|
||||
boundary: str | None = ...,
|
||||
_subparts: Sequence[Message] | None = ...,
|
||||
_subtype: str = "mixed",
|
||||
boundary: str | None = None,
|
||||
_subparts: Sequence[Message] | None = None,
|
||||
*,
|
||||
policy: Policy | None = ...,
|
||||
policy: Policy | None = None,
|
||||
**_params: _ParamsType,
|
||||
) -> None: ...
|
||||
|
||||
@@ -4,4 +4,6 @@ from email.policy import Policy
|
||||
__all__ = ["MIMEText"]
|
||||
|
||||
class MIMEText(MIMENonMultipart):
|
||||
def __init__(self, _text: str, _subtype: str = ..., _charset: str | None = ..., *, policy: Policy | None = ...) -> None: ...
|
||||
def __init__(
|
||||
self, _text: str, _subtype: str = "plain", _charset: str | None = None, *, policy: Policy | None = None
|
||||
) -> None: ...
|
||||
|
||||
@@ -7,15 +7,15 @@ from typing import BinaryIO, TextIO
|
||||
__all__ = ["Parser", "HeaderParser", "BytesParser", "BytesHeaderParser", "FeedParser", "BytesFeedParser"]
|
||||
|
||||
class Parser:
|
||||
def __init__(self, _class: Callable[[], Message] | None = ..., *, policy: Policy = ...) -> None: ...
|
||||
def parse(self, fp: TextIO, headersonly: bool = ...) -> Message: ...
|
||||
def parsestr(self, text: str, headersonly: bool = ...) -> Message: ...
|
||||
def __init__(self, _class: Callable[[], Message] | None = None, *, policy: Policy = ...) -> None: ...
|
||||
def parse(self, fp: TextIO, headersonly: bool = False) -> Message: ...
|
||||
def parsestr(self, text: str, headersonly: bool = False) -> Message: ...
|
||||
|
||||
class HeaderParser(Parser): ...
|
||||
|
||||
class BytesParser:
|
||||
def __init__(self, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> None: ...
|
||||
def parse(self, fp: BinaryIO, headersonly: bool = ...) -> Message: ...
|
||||
def parsebytes(self, text: bytes | bytearray, headersonly: bool = ...) -> Message: ...
|
||||
def parse(self, fp: BinaryIO, headersonly: bool = False) -> Message: ...
|
||||
def parsebytes(self, text: bytes | bytearray, headersonly: bool = False) -> Message: ...
|
||||
|
||||
class BytesHeaderParser(BytesParser): ...
|
||||
|
||||
@@ -19,9 +19,9 @@ def header_length(bytearray: Iterable[int]) -> int: ...
|
||||
def body_length(bytearray: Iterable[int]) -> int: ...
|
||||
def unquote(s: str | bytes | bytearray) -> str: ...
|
||||
def quote(c: str | bytes | bytearray) -> str: ...
|
||||
def header_encode(header_bytes: bytes | bytearray, charset: str = ...) -> str: ...
|
||||
def body_encode(body: str, maxlinelen: int = ..., eol: str = ...) -> str: ...
|
||||
def decode(encoded: str, eol: str = ...) -> str: ...
|
||||
def header_encode(header_bytes: bytes | bytearray, charset: str = "iso-8859-1") -> str: ...
|
||||
def body_encode(body: str, maxlinelen: int = 76, eol: str = "\n") -> str: ...
|
||||
def decode(encoded: str, eol: str = "\n") -> str: ...
|
||||
def header_decode(s: str) -> str: ...
|
||||
|
||||
body_decode = decode
|
||||
|
||||
@@ -28,7 +28,7 @@ _PDTZ: TypeAlias = tuple[int, int, int, int, int, int, int, int, int, int | None
|
||||
def quote(str: str) -> str: ...
|
||||
def unquote(str: str) -> str: ...
|
||||
def parseaddr(addr: str | None) -> tuple[str, str]: ...
|
||||
def formataddr(pair: tuple[str | None, str], charset: str | Charset = ...) -> str: ...
|
||||
def formataddr(pair: tuple[str | None, str], charset: str | Charset = "utf-8") -> str: ...
|
||||
def getaddresses(fieldvalues: list[str]) -> list[tuple[str, str]]: ...
|
||||
@overload
|
||||
def parsedate(data: None) -> None: ...
|
||||
@@ -49,11 +49,11 @@ else:
|
||||
def parsedate_to_datetime(data: str) -> datetime.datetime: ...
|
||||
|
||||
def mktime_tz(data: _PDTZ) -> int: ...
|
||||
def formatdate(timeval: float | None = ..., localtime: bool = ..., usegmt: bool = ...) -> str: ...
|
||||
def format_datetime(dt: datetime.datetime, usegmt: bool = ...) -> str: ...
|
||||
def localtime(dt: datetime.datetime | None = ..., isdst: int = ...) -> datetime.datetime: ...
|
||||
def make_msgid(idstring: str | None = ..., domain: str | None = ...) -> str: ...
|
||||
def formatdate(timeval: float | None = None, localtime: bool = False, usegmt: bool = False) -> str: ...
|
||||
def format_datetime(dt: datetime.datetime, usegmt: bool = False) -> str: ...
|
||||
def localtime(dt: datetime.datetime | None = None, isdst: int = -1) -> datetime.datetime: ...
|
||||
def make_msgid(idstring: str | None = None, domain: str | None = None) -> str: ...
|
||||
def decode_rfc2231(s: str) -> tuple[str | None, str | None, str]: ...
|
||||
def encode_rfc2231(s: str, charset: str | None = ..., language: str | None = ...) -> str: ...
|
||||
def collapse_rfc2231_value(value: _ParamType, errors: str = ..., fallback_charset: str = ...) -> str: ...
|
||||
def encode_rfc2231(s: str, charset: str | None = None, language: str | None = None) -> str: ...
|
||||
def collapse_rfc2231_value(value: _ParamType, errors: str = "replace", fallback_charset: str = "us-ascii") -> str: ...
|
||||
def decode_params(params: list[tuple[str, str]]) -> list[tuple[str, _ParamType]]: ...
|
||||
|
||||
Reference in New Issue
Block a user