|
1 |
| -from abc import ABCMeta, abstractmethod |
2 | 1 | from collections.abc import Callable
|
| 2 | +from email._policybase import Compat32 as Compat32, Policy as Policy, compat32 as compat32 |
3 | 3 | from email.contentmanager import ContentManager
|
4 |
| -from email.errors import MessageDefect |
5 |
| -from email.header import Header |
6 | 4 | from email.message import Message
|
7 | 5 | from typing import Any
|
8 |
| -from typing_extensions import Self |
9 | 6 |
|
10 | 7 | __all__ = ["Compat32", "compat32", "Policy", "EmailPolicy", "default", "strict", "SMTP", "HTTP"]
|
11 | 8 |
|
12 |
| -class Policy(metaclass=ABCMeta): |
13 |
| - max_line_length: int | None |
14 |
| - linesep: str |
15 |
| - cte_type: str |
16 |
| - raise_on_defect: bool |
17 |
| - mangle_from_: bool |
18 |
| - message_factory: Callable[[Policy], Message] | None |
19 |
| - def __init__( |
20 |
| - self, |
21 |
| - *, |
22 |
| - max_line_length: int | None = ..., |
23 |
| - linesep: str = ..., |
24 |
| - cte_type: str = ..., |
25 |
| - raise_on_defect: bool = ..., |
26 |
| - mangle_from_: bool = ..., |
27 |
| - message_factory: Callable[[Policy], Message] | None = ..., |
28 |
| - ) -> None: ... |
29 |
| - def clone(self, **kw: Any) -> Self: ... |
30 |
| - def handle_defect(self, obj: Message, defect: MessageDefect) -> None: ... |
31 |
| - def register_defect(self, obj: Message, defect: MessageDefect) -> None: ... |
32 |
| - def header_max_count(self, name: str) -> int | None: ... |
33 |
| - @abstractmethod |
34 |
| - def header_source_parse(self, sourcelines: list[str]) -> tuple[str, str]: ... |
35 |
| - @abstractmethod |
36 |
| - def header_store_parse(self, name: str, value: str) -> tuple[str, str]: ... |
37 |
| - @abstractmethod |
38 |
| - def header_fetch_parse(self, name: str, value: str) -> str: ... |
39 |
| - @abstractmethod |
40 |
| - def fold(self, name: str, value: str) -> str: ... |
41 |
| - @abstractmethod |
42 |
| - def fold_binary(self, name: str, value: str) -> bytes: ... |
43 |
| - |
44 |
| -class Compat32(Policy): |
45 |
| - def header_source_parse(self, sourcelines: list[str]) -> tuple[str, str]: ... |
46 |
| - def header_store_parse(self, name: str, value: str) -> tuple[str, str]: ... |
47 |
| - def header_fetch_parse(self, name: str, value: str) -> str | Header: ... # type: ignore[override] |
48 |
| - def fold(self, name: str, value: str) -> str: ... |
49 |
| - def fold_binary(self, name: str, value: str) -> bytes: ... |
50 |
| - |
51 |
| -compat32: Compat32 |
52 |
| - |
53 | 9 | class EmailPolicy(Policy):
|
54 | 10 | utf8: bool
|
55 | 11 | refold_source: str
|
|
0 commit comments