
    g                         d dl Z d dlZd dlmZ d dlmZmZ ej                  Z e ej                         ej                        Z
d Zd Zd Zd Zd
dZd	 Zy)    N)execute_request)get_http_connectornormalize_paramsc                 2    dg|xs g z   }t        | ||fi |S )ax  Private function that assists with performing an API call to the
    metadata_fields part of the Admin API
    :param method: The HTTP method. Valid methods: get, post, put, delete
    :param uri: REST endpoint of the API (without 'metadata_fields')
    :param params: Query/body parameters passed to the method
    :param options: Additional options
    :rtype: Response
    metadata_fieldscall_json_apimethoduriparamsoptionss       3/opt/Tautulli/lib/cloudinary/api_client/call_api.pycall_metadata_apir      s)     

+Cf888    c                 n    t        j                  |      j                  d      }t        | |f|ddid|S )Nzutf-8zContent-Typezapplication/json)bodyheaders)jsondumpsencode	_call_api)r   r   	json_bodyr   datas        r   r	   r	      s;    ::i ''0DVSetnFX5Ye]deer   c                 "    t        | |f|dd|S )Nv2)r   api_versionr   )r   r   r   r   s       r   _call_v2_apir      s    W	tWwWWr   c                      t        | |fd|i|S )Nr   )r   r
   s       r   call_apir    !   s    VS;;7;;r   c           
         |j                  dt        j                         j                        xs d}|j                  dt        j                         j                        }|st        d      |j                  dt        j                         j                        }	|j                  dt        j                         j                        }
|j                  dt        j                         j                        }t        |	|
|       |	|
|d}|j                  d	t        j                        }d
j                  |||g|z         }|||d<   ||j                  |       t        dt        | t        |      |||d|S )Nupload_prefixzhttps://api.cloudinary.com
cloud_namezMust supply cloud_nameapi_key
api_secretoauth_token)keysecretr&   r   /r   )http_connectorr   r   r   authapi_url )pop
cloudinaryconfigr"   r#   	Exceptionr$   r%   r&   _validate_authorizationAPI_VERSIONjoinupdater   _httpr   )r   r   r   r   r   extra_headersr   prefixr#   r$   r%   r&   r+   r   r,   s                  r   r   r   %   sV   [[#**,::< \?[ \:+<+<+>+I+IJJ011kk)Z%6%6%8%@%@AG\:+<+<+>+I+IJJ++mZ->->-@-L-LMKGZ=jMD++mj.D.DEKhhZ83>?G }% &%"("26":#* $#*& %& &r   c                 >    |ry | st        d      |st        d      y )NzMust supply api_keyzMust supply api_secret)r1   )r$   r%   r&   s      r   r2   r2   E   s+    -..011 r   )NNNN)r   r/   %cloudinary.api_client.execute_requestr   cloudinary.utilsr   r   loggerr0   CERT_KWARGSr6   r   r	   r   r    r   r2   r-   r   r   <module>r>      s[      A A			,:,,.
0F0FG
9f
X<&@2r   