2 from _typeshed import StrPath
3 from http.client import HTTPResponse
4 from typing import ClassVar, Iterable, Iterator, Pattern, Sequence, Tuple, TypeVar, overload
5 from urllib.request import Request
9 class LoadError(OSError): ...
11 class CookieJar(Iterable[Cookie]):
12 non_word_re: ClassVar[Pattern[str]] # undocumented
13 quote_re: ClassVar[Pattern[str]] # undocumented
14 strict_domain_re: ClassVar[Pattern[str]] # undocumented
15 domain_re: ClassVar[Pattern[str]] # undocumented
16 dots_re: ClassVar[Pattern[str]] # undocumented
17 magic_re: ClassVar[Pattern[str]] # undocumented
18 def __init__(self, policy: CookiePolicy | None = ...) -> None: ...
19 def add_cookie_header(self, request: Request) -> None: ...
20 def extract_cookies(self, response: HTTPResponse, request: Request) -> None: ...
21 def set_policy(self, policy: CookiePolicy) -> None: ...
22 def make_cookies(self, response: HTTPResponse, request: Request) -> Sequence[Cookie]: ...
23 def set_cookie(self, cookie: Cookie) -> None: ...
24 def set_cookie_if_ok(self, cookie: Cookie, request: Request) -> None: ...
25 def clear(self, domain: str | None = ..., path: str | None = ..., name: str | None = ...) -> None: ...
26 def clear_session_cookies(self) -> None: ...
27 def clear_expired_cookies(self) -> None: ... # undocumented
28 def __iter__(self) -> Iterator[Cookie]: ...
29 def __len__(self) -> int: ...
30 def __repr__(self) -> str: ...
31 def __str__(self) -> str: ...
33 class FileCookieJar(CookieJar):
36 if sys.version_info >= (3, 8):
37 def __init__(self, filename: StrPath | None = ..., delayload: bool = ..., policy: CookiePolicy | None = ...) -> None: ...
39 def __init__(self, filename: str | None = ..., delayload: bool = ..., policy: CookiePolicy | None = ...) -> None: ...
40 def save(self, filename: str | None = ..., ignore_discard: bool = ..., ignore_expires: bool = ...) -> None: ...
41 def load(self, filename: str | None = ..., ignore_discard: bool = ..., ignore_expires: bool = ...) -> None: ...
42 def revert(self, filename: str | None = ..., ignore_discard: bool = ..., ignore_expires: bool = ...) -> None: ...
44 class MozillaCookieJar(FileCookieJar):
45 header: ClassVar[str] # undocumented
47 class LWPCookieJar(FileCookieJar):
48 def as_lwp_str(self, ignore_discard: bool = ..., ignore_expires: bool = ...) -> str: ... # undocumented
54 def set_ok(self, cookie: Cookie, request: Request) -> bool: ...
55 def return_ok(self, cookie: Cookie, request: Request) -> bool: ...
56 def domain_return_ok(self, domain: str, request: Request) -> bool: ...
57 def path_return_ok(self, path: str, request: Request) -> bool: ...
59 class DefaultCookiePolicy(CookiePolicy):
60 rfc2109_as_netscape: bool
62 strict_rfc2965_unverifiable: bool
63 strict_ns_unverifiable: bool
65 strict_ns_set_initial_dollar: bool
66 strict_ns_set_path: bool
67 DomainStrictNoDots: ClassVar[int]
68 DomainStrictNonDomain: ClassVar[int]
69 DomainRFC2965Match: ClassVar[int]
70 DomainLiberal: ClassVar[int]
71 DomainStrict: ClassVar[int]
72 if sys.version_info >= (3, 8):
75 blocked_domains: Sequence[str] | None = ...,
76 allowed_domains: Sequence[str] | None = ...,
79 rfc2109_as_netscape: bool | None = ...,
80 hide_cookie2: bool = ...,
81 strict_domain: bool = ...,
82 strict_rfc2965_unverifiable: bool = ...,
83 strict_ns_unverifiable: bool = ...,
84 strict_ns_domain: int = ...,
85 strict_ns_set_initial_dollar: bool = ...,
86 strict_ns_set_path: bool = ...,
87 secure_protocols: Sequence[str] = ...,
92 blocked_domains: Sequence[str] | None = ...,
93 allowed_domains: Sequence[str] | None = ...,
96 rfc2109_as_netscape: bool | None = ...,
97 hide_cookie2: bool = ...,
98 strict_domain: bool = ...,
99 strict_rfc2965_unverifiable: bool = ...,
100 strict_ns_unverifiable: bool = ...,
101 strict_ns_domain: int = ...,
102 strict_ns_set_initial_dollar: bool = ...,
103 strict_ns_set_path: bool = ...,
105 def blocked_domains(self) -> Tuple[str, ...]: ...
106 def set_blocked_domains(self, blocked_domains: Sequence[str]) -> None: ...
107 def is_blocked(self, domain: str) -> bool: ...
108 def allowed_domains(self) -> Tuple[str, ...] | None: ...
109 def set_allowed_domains(self, allowed_domains: Sequence[str] | None) -> None: ...
110 def is_not_allowed(self, domain: str) -> bool: ...
111 def set_ok_version(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
112 def set_ok_verifiability(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
113 def set_ok_name(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
114 def set_ok_path(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
115 def set_ok_domain(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
116 def set_ok_port(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
117 def return_ok_version(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
118 def return_ok_verifiability(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
119 def return_ok_secure(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
120 def return_ok_expires(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
121 def return_ok_port(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
122 def return_ok_domain(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
135 comment_url: str | None
138 domain: str # undocumented
139 domain_specified: bool
140 domain_initial_dot: bool
145 value: str | None, # undocumented
147 port_specified: bool,
149 domain_specified: bool,
150 domain_initial_dot: bool,
152 path_specified: bool,
157 comment_url: str | None,
158 rest: dict[str, str],
161 def has_nonstandard_attr(self, name: str) -> bool: ...
163 def get_nonstandard_attr(self, name: str) -> str | None: ...
165 def get_nonstandard_attr(self, name: str, default: _T) -> str | _T: ...
166 def set_nonstandard_attr(self, name: str, value: str) -> None: ...
167 def is_expired(self, now: int | None = ...) -> bool: ...