import sys from _typeshed import StrPath from http.client import HTTPResponse from typing import ClassVar, Iterable, Iterator, Pattern, Sequence, Tuple, TypeVar, overload from urllib.request import Request _T = TypeVar("_T") class LoadError(OSError): ... class CookieJar(Iterable[Cookie]): non_word_re: ClassVar[Pattern[str]] # undocumented quote_re: ClassVar[Pattern[str]] # undocumented strict_domain_re: ClassVar[Pattern[str]] # undocumented domain_re: ClassVar[Pattern[str]] # undocumented dots_re: ClassVar[Pattern[str]] # undocumented magic_re: ClassVar[Pattern[str]] # undocumented def __init__(self, policy: CookiePolicy | None = ...) -> None: ... def add_cookie_header(self, request: Request) -> None: ... def extract_cookies(self, response: HTTPResponse, request: Request) -> None: ... def set_policy(self, policy: CookiePolicy) -> None: ... def make_cookies(self, response: HTTPResponse, request: Request) -> Sequence[Cookie]: ... def set_cookie(self, cookie: Cookie) -> None: ... def set_cookie_if_ok(self, cookie: Cookie, request: Request) -> None: ... def clear(self, domain: str | None = ..., path: str | None = ..., name: str | None = ...) -> None: ... def clear_session_cookies(self) -> None: ... def clear_expired_cookies(self) -> None: ... # undocumented def __iter__(self) -> Iterator[Cookie]: ... def __len__(self) -> int: ... def __repr__(self) -> str: ... def __str__(self) -> str: ... class FileCookieJar(CookieJar): filename: str delayload: bool if sys.version_info >= (3, 8): def __init__(self, filename: StrPath | None = ..., delayload: bool = ..., policy: CookiePolicy | None = ...) -> None: ... else: def __init__(self, filename: str | None = ..., delayload: bool = ..., policy: CookiePolicy | None = ...) -> None: ... def save(self, filename: str | None = ..., ignore_discard: bool = ..., ignore_expires: bool = ...) -> None: ... def load(self, filename: str | None = ..., ignore_discard: bool = ..., ignore_expires: bool = ...) -> None: ... def revert(self, filename: str | None = ..., ignore_discard: bool = ..., ignore_expires: bool = ...) -> None: ... class MozillaCookieJar(FileCookieJar): header: ClassVar[str] # undocumented class LWPCookieJar(FileCookieJar): def as_lwp_str(self, ignore_discard: bool = ..., ignore_expires: bool = ...) -> str: ... # undocumented class CookiePolicy: netscape: bool rfc2965: bool hide_cookie2: bool def set_ok(self, cookie: Cookie, request: Request) -> bool: ... def return_ok(self, cookie: Cookie, request: Request) -> bool: ... def domain_return_ok(self, domain: str, request: Request) -> bool: ... def path_return_ok(self, path: str, request: Request) -> bool: ... class DefaultCookiePolicy(CookiePolicy): rfc2109_as_netscape: bool strict_domain: bool strict_rfc2965_unverifiable: bool strict_ns_unverifiable: bool strict_ns_domain: int strict_ns_set_initial_dollar: bool strict_ns_set_path: bool DomainStrictNoDots: ClassVar[int] DomainStrictNonDomain: ClassVar[int] DomainRFC2965Match: ClassVar[int] DomainLiberal: ClassVar[int] DomainStrict: ClassVar[int] if sys.version_info >= (3, 8): def __init__( self, blocked_domains: Sequence[str] | None = ..., allowed_domains: Sequence[str] | None = ..., netscape: bool = ..., rfc2965: bool = ..., rfc2109_as_netscape: bool | None = ..., hide_cookie2: bool = ..., strict_domain: bool = ..., strict_rfc2965_unverifiable: bool = ..., strict_ns_unverifiable: bool = ..., strict_ns_domain: int = ..., strict_ns_set_initial_dollar: bool = ..., strict_ns_set_path: bool = ..., secure_protocols: Sequence[str] = ..., ) -> None: ... else: def __init__( self, blocked_domains: Sequence[str] | None = ..., allowed_domains: Sequence[str] | None = ..., netscape: bool = ..., rfc2965: bool = ..., rfc2109_as_netscape: bool | None = ..., hide_cookie2: bool = ..., strict_domain: bool = ..., strict_rfc2965_unverifiable: bool = ..., strict_ns_unverifiable: bool = ..., strict_ns_domain: int = ..., strict_ns_set_initial_dollar: bool = ..., strict_ns_set_path: bool = ..., ) -> None: ... def blocked_domains(self) -> Tuple[str, ...]: ... def set_blocked_domains(self, blocked_domains: Sequence[str]) -> None: ... def is_blocked(self, domain: str) -> bool: ... def allowed_domains(self) -> Tuple[str, ...] | None: ... def set_allowed_domains(self, allowed_domains: Sequence[str] | None) -> None: ... def is_not_allowed(self, domain: str) -> bool: ... def set_ok_version(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def set_ok_verifiability(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def set_ok_name(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def set_ok_path(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def set_ok_domain(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def set_ok_port(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def return_ok_version(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def return_ok_verifiability(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def return_ok_secure(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def return_ok_expires(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def return_ok_port(self, cookie: Cookie, request: Request) -> bool: ... # undocumented def return_ok_domain(self, cookie: Cookie, request: Request) -> bool: ... # undocumented class Cookie: version: int | None name: str value: str | None port: str | None path: str path_specified: bool secure: bool expires: int | None discard: bool comment: str | None comment_url: str | None rfc2109: bool port_specified: bool domain: str # undocumented domain_specified: bool domain_initial_dot: bool def __init__( self, version: int | None, name: str, value: str | None, # undocumented port: str | None, port_specified: bool, domain: str, domain_specified: bool, domain_initial_dot: bool, path: str, path_specified: bool, secure: bool, expires: int | None, discard: bool, comment: str | None, comment_url: str | None, rest: dict[str, str], rfc2109: bool = ..., ) -> None: ... def has_nonstandard_attr(self, name: str) -> bool: ... @overload def get_nonstandard_attr(self, name: str) -> str | None: ... @overload def get_nonstandard_attr(self, name: str, default: _T) -> str | _T: ... def set_nonstandard_attr(self, name: str, value: str) -> None: ... def is_expired(self, now: int | None = ...) -> bool: ...