| 61 | """Storage cookies for session with browser-compatible serialization and deserialization.""" |
| 62 | |
| 63 | def __init__(self, cookies: SessionCookies | CookieJar | dict[str, str] | list[CookieParam] | None = None) -> None: |
| 64 | if isinstance(cookies, CookieJar): |
| 65 | self._jar = cookies |
| 66 | return |
| 67 | |
| 68 | self._jar = CookieJar() |
| 69 | |
| 70 | if isinstance(cookies, list): |
| 71 | for item in cookies: |
| 72 | self.set(**item) |
| 73 | |
| 74 | elif isinstance(cookies, SessionCookies): |
| 75 | for cookie in cookies.jar: |
| 76 | self._jar.set_cookie(cookie) |
| 77 | |
| 78 | elif isinstance(cookies, dict): |
| 79 | cookies_dict: dict[str, str] = cookies |
| 80 | for key, value in cookies_dict.items(): |
| 81 | self.set(key, value) |
| 82 | |
| 83 | @property |
| 84 | def jar(self) -> CookieJar: |