
    gv
                         d dl Zd dlZd dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
mZmZmZmZmZ d dlmZmZmZmZ e	e
eeeeedZ G d de      Zd Zy)	    N)	HTTPError)
BadRequestAuthorizationRequired
NotAllowedNotFoundAlreadyExistsRateLimitedGeneralError)process_params	safe_castsmart_escapeunquote)i  i  i  i  i  i  i  c                        e Zd Z fdZ xZS )Responsec                    t        t        | 
  di | | j                  |       t	        |j
                  j                  d      t              | _        t	        |j
                  j                  d      t        j                  j                        | _        t	        |j
                  j                  d      t              | _        y )Nzx-featureratelimit-limitzx-featureratelimit-resetzx-featureratelimit-remaining )superr   __init__updater   headersgetintrate_limit_allowedemailutils	parsedaterate_limit_reset_atrate_limit_remaining)selfresultresponsekwargs	__class__s       :/opt/Tautulli/lib/cloudinary/api_client/execute_request.pyr   zResponse.__init__    s    h&00F"+H,<,<,@,@A[,\^a"b#,X-=-=-A-AB\-]_d_j_j_t_t#u $-h.>.>.B.BCa.bdg$h!    )__name__
__module____qualname__r   __classcell__)r#   s   @r$   r   r      s    i ir%   r   c                 Z   |j                  d      }|j                  d      }|j                  d      }	t        j                  t        j                               }
|	rdj                  |	      |
d<   n5|
j                  t        j                  dj                  ||                   ||
j                  |       i }d	|v r|d	   |d	<   d
|v r|d
   |d
<   t        |      }t        t        |            }	  | j                  d|j                         |||
d|}|j                  }	 t%        j&                  |j)                  d            }d|v rQt.        j                  |j,                        xs t*        }|} |dj                  |j,                  |d   d               t1        ||      S # t        $ r}t        dt        |      z        d }~wt         j"                  $ r}t        dt        |      z        d }~ww xY w# t*        $ r }t        d|j,                  ||fz        d }~ww xY w)Nkeysecretoauth_token)
user_agentz	Bearer {}authorizationz{0}:{1})
basic_authtimeoutbody)methodurlfieldsr   zUnexpected error %szSocket Error: %szutf-8z1Error parsing server response (%d) - %s. Got - %serrorzError {0} - {1}messager   )r   urllib3make_headers
cloudinaryget_user_agentformatr   r   r   r   requestupperdatar   r
   strsocketr6   jsonloadsdecode	ExceptionstatusEXCEPTION_CODESr   )http_connectorr3   paramsr   authapi_urloptionsr+   r,   r-   req_headerskwprocessed_paramsr!   r2   er    exception_classs                     r$   execute_requestrR   )   s    
((5/CXXhF((=)K&&,,.K '2'9'9+'FO$7//9;K;KCQW;XYZ7#	BG	*9V_6
%f-77+,G8)>))  BWUeoz  B  A  B}}mDKK01
 &)--hoo>K))/66xwXaHbcddFH%%!  ;03q69::<< 8-A6778
  mNRZRaRacgijQkkllms<   51F, '$H ,	G>5GG>"G99G>	H*
H%%H*)email.utilsr   rB   rA   r8   urllib3.exceptionsr   r:   cloudinary.exceptionsr   r   r   r   r   r	   r
   cloudinary.utilsr   r   r   r   rG   dictr   rR   r   r%   r$   <module>rX      s`        (    N M 
						it i,&r%   