
    Oi                     ^    S SK JrJrJr  S SKJr  S SKJr  SSKJ	r	  SSK
Jr   " S S\	5      rg	)
    )AsyncClientAsyncHTTPTransportTimeout)disable_warnings)InsecureRequestWarning   )JobFunctions)APIConnectionErrorc                   z   ^  \ rS rSrSr    SS\S\S\S\S\S\4U 4S	 jjjr	S
 r
  SS\S\4S jjrS rSrU =r$ )SabnzbdClient	   Fhostapi_keyportVERIFY_CERTIFICATERETRIESHTTPX_REQUETS_ARGSc                    > Uc  0 nUR                  S5       SU 3U l        USS.U l        X@l        XPl        X`l        S U l        U R                  (       d  [        [        5        [        TU ])  5         g )N/:json)apikeyoutput)rstrip	_base_url_default_params_VERIFY_CERTIFICATE_RETRIES_HTTPX_REQUETS_ARGS_http_sessionr   r   super__init__)selfr   r   r   r   r   r   	__class__s          /app/sabnzbdapi/requests.pyr"   SabnzbdClient.__init__   sp     %!# KK,-Qtf5*1VD#5 #5 !''34    c                    U R                   b  U R                   $ [        U R                  U R                  S9n[	        SU R
                  U[        SSSS S9SU R                  S.U R                  D6U l         U R                   $ )N)retriesverify<   )connectreadwritepoolT)base_url	transporttimeoutfollow_redirectsr*    )r    r   r   r   r   r   r   r   )r#   r1   s     r%   _sessionSabnzbdClient._session"   s    )%%%&MM$*B*B
	 ) 
^^BRrE!++
 &&
 !!!r'   paramsrequests_argsc                    #    Uc  0 nU R                  5       nX-  nUR                  " SS0 U R                  EUES.UD6I S h  vN nUR                  5       nUc  [	        S5      eU$  N$7f)Nz/sabnzbd/api)urlr7   zFailed to connect to API!r4   )r5   getr   r   r
   )r#   r7   r8   kwargssessionresresponses          r%   callSabnzbdClient.call5   s       M--/KK 
5d**5f5
 
 

 88:$%@AA
s   A A)A'%A)c                 ~   #    U R                   b*  U R                   R                  5       I S h  vN   S U l         g g  N7f)N)r    aclose)r#   s    r%   closeSabnzbdClient.closeI   s9     )$$++---!%D *-s   +=;=)r   r   r   r   r   r    )8070F
   N)NN)__name__
__module____qualname____firstlineno__	LOGGED_INstrboolintdictr"   r5   r@   rD   __static_attributes____classcell__)r$   s   @r%   r   r   	   s    I #(#'  	
 !  ! *"* " (& &r'   r   N)httpxr   r   r   urllib3r   urllib3.exceptionsr   job_functionsr	   	exceptionr
   r   r4   r'   r%   <module>rX      s%    : : $ 5 ' )C&L C&r'   