
    DjJ                     `    U d Z ddlmZmZ ddlmZ ddlmZ dZe	e
d<    G d dee          Zd	S )
z$Cookie jar with persistence support.    )CookieLWPCookieJar)Optional)RequestsCookieJarzX-APPLE-WEBAUTH-FMIP_FMIP_AUTH_COOKIE_NAMEc            	            e Zd ZdZddee         ddfdZdee         dee         fdZddZ	 	 	 ddee         d
e	de	ddf fdZ
	 	 	 ddee         d
e	de	ddfdZ xZS )PyiCloudCookieJarzEMix the Requests CookieJar with the LWPCookieJar to allow persistenceNfilenamereturnc                 Z    t          j        |            t          j        | |           dS )zNInitialise both bases; do not pass filename positionally to RequestsCookieJar.r
   N)r   __init__r   )selfr
   s     N/home/thesage/.hermes/venv/lib/python3.11/site-packages/pyicloud/cookie_jar.pyr   zPyiCloudCookieJar.__init__   s/    "4(((dX666666    c                 4    |pt          | dd           }|sd S |S )Nr
   )getattr)r   r
   resolveds      r   _resolve_filenamez#PyiCloudCookieJar._resolve_filename   s*    "*"MgdJ.M.M 	Fr   c                     t          | j                  }|                    |                                            |                    |            |S )z!Create a copy of this cookie jar.r   )r	   r
   
set_policy
get_policyupdate)r   new_jars     r   copyzPyiCloudCookieJar.copy   sI    %6%N%N%N4??,,---tr   TFignore_discardignore_expiresc                 \   |                      |          }|sdS t                                          |||           	 d |                                 D             }|D ]:}	 |                     |j        |j        |j                   +# t          $ r Y 7w xY wdS # t          $ r Y dS w xY w)zLoad cookies from file.Nr
   r   r   c                 2    g | ]}|j         t          k    |S  )namer   ).0cookies     r   
<listcomp>z*PyiCloudCookieJar.load.<locals>.<listcomp>2   s0     . . .;"888 888r   )domainpathr"   )
r   superloadr   clearr&   r'   r"   KeyErrorRuntimeError)r   r
   r   r   r   cookies_to_clearr$   	__class__s          r   r)   zPyiCloudCookieJar.load    s     #'"8"8"B"B 	F)) 	 	
 	
 	
	. ."iikk. . .
 +  JJfm&+FKJXXXX   D 
  	 	 	DD	s6    "B #'B
B 
BB BB 
B+*B+c                     |                      |          }|sdS 	 |                                 }t          j        ||||           dS # t          $ r Y dS w xY w)zSave cookies to file.Nr   )r   r   r   saver,   )r   r
   r   r   r   temp_jars         r   r0   zPyiCloudCookieJar.save@   s     #'"8"8"B"B 	F
	*.))++H!--	       	 	 	DD	s   ,A	 	
AA)N)r   r	   )NTF)__name__
__module____qualname____doc__r   strr   r   r   boolr)   r0   __classcell__)r.   s   @r   r	   r	      s5       OO7 7# 7$ 7 7 7 7
(3- HSM        #'#$	 3-  	
 
     D #'#$	 3-  	
 
       r   r	   N)r5   http.cookiejarr   r   typingr   requests.cookiesr   r   r6   __annotations__r	   r!   r   r   <module>r=      s    * * * / / / / / / / /       . . . . . .4  4 4 4K K K K K)< K K K K Kr   