o
    ýÞhß  ã                
   @   s  d Z ddlmZ ddlmZ ddlZddlZddlZddl	Zzddl
ZddlZddlZW n ey= Z zedƒe‚dZ[ww zddlZdZW n eyQ   dZY nw dZd	d
„ Zdd„ Zdd„ Zdd„ ZejjeejjeejjeejjeejjjeiZ er„ee ejj!j< dd„ Z"dS )zÚHelpers for transitioning from oauth2client to google-auth.

.. warning::
    This module is private as it is intended to assist first-party downstream
    clients with the transition from oauth2client to google-auth.
é    )Úabsolute_import)Ú_helpersNzoauth2client is not installed.TFz8Unable to convert {} to a google-auth credentials class.c                 C   s2   t jjj| j| j| j| j| j| j	d�}| j
|_|S )aB  Converts to :class:`google.oauth2.credentials.Credentials`.

    Args:
        credentials (Union[oauth2client.client.OAuth2Credentials,
            oauth2client.client.GoogleCredentials]): The credentials to
            convert.

    Returns:
        google.oauth2.credentials.Credentials: The converted credentials.
    )ÚtokenÚrefresh_tokenÚ	token_uriÚ	client_idÚclient_secretÚscopes)ÚgoogleÚoauth2ÚcredentialsÚCredentialsÚaccess_tokenr   r   r   r   r	   Útoken_expiryÚ_expires)r   Únew_credentials© r   úY/var/www/html/premium_crap/venv/lib/python3.10/site-packages/google/auth/_oauth2client.pyÚ_convert_oauth2_credentials0   s   ú	r   c                 C   s$   | j  ¡ }| j|d< tjjj |¡S )au  Converts to :class:`google.oauth2.service_account.Credentials`.

    Args:
        credentials (Union[
            oauth2client.service_account.ServiceAccountCredentials,
            oauth2client.service_account._JWTAccessCredentials]): The
            credentials to convert.

    Returns:
        google.oauth2.service_account.Credentials: The converted credentials.
    r   )Úserialization_dataÚcopyr   r
   r   Úservice_accountr   Úfrom_service_account_info)r   Úinfor   r   r   Ú$_convert_service_account_credentialsI   s   

r   c                 C   s   t jjj| jd�S )a  Converts to :class:`google.auth.compute_engine.Credentials`.

    Args:
        credentials (oauth2client.contrib.gce.AppAssertionCredentials): The
            credentials to convert.

    Returns:
        google.oauth2.service_account.Credentials: The converted credentials.
    )Úservice_account_email)r
   ÚauthÚcompute_enginer   r   ©r   r   r   r   Ú&_convert_gce_app_assertion_credentialsZ   s   
ÿr   c                 C   s   t jjjt | j¡| jd�S )a  Converts to :class:`google.auth.app_engine.Credentials`.

    Args:
        credentials (oauth2client.contrib.app_engine.AppAssertionCredentials):
            The credentials to convert.

    Returns:
        google.oauth2.service_account.Credentials: The converted credentials.
    )r	   Úservice_account_id)r
   r   Ú
app_enginer   r   Ústring_to_scopesÚscoper    r   r   r   r   Ú,_convert_appengine_app_assertion_credentialsi   s   
þr$   c              
   C   sD   t | ƒ}zt| | ƒW S  ty! } z
tt |¡ƒ}||‚d}~ww )aÒ  Convert oauth2client credentials to google-auth credentials.

    This class converts:

    - :class:`oauth2client.client.OAuth2Credentials` to
      :class:`google.oauth2.credentials.Credentials`.
    - :class:`oauth2client.client.GoogleCredentials` to
      :class:`google.oauth2.credentials.Credentials`.
    - :class:`oauth2client.service_account.ServiceAccountCredentials` to
      :class:`google.oauth2.service_account.Credentials`.
    - :class:`oauth2client.service_account._JWTAccessCredentials` to
      :class:`google.oauth2.service_account.Credentials`.
    - :class:`oauth2client.contrib.gce.AppAssertionCredentials` to
      :class:`google.auth.compute_engine.Credentials`.
    - :class:`oauth2client.contrib.appengine.AppAssertionCredentials` to
      :class:`google.auth.app_engine.Credentials`.

    Returns:
        google.auth.credentials.Credentials: The converted credentials.

    Raises:
        ValueError: If the credentials could not be converted.
    N)ÚtypeÚ_CLASS_CONVERSION_MAPÚKeyErrorÚ
ValueErrorÚ_CONVERT_ERROR_TMPLÚformat)r   Úcredentials_classÚ
caught_excÚnew_excr   r   r   Úconvertˆ   s   €þr.   )#Ú__doc__Ú
__future__r   Úgoogle.authr   Úgoogle.auth.app_enginer
   Úgoogle.auth.compute_engineÚgoogle.oauth2.credentialsÚgoogle.oauth2.service_accountÚoauth2client.clientÚoauth2clientÚoauth2client.contrib.gceÚoauth2client.service_accountÚImportErrorr,   Úoauth2client.contrib.appengineÚ_HAS_APPENGINEr)   r   r   r   r$   ÚclientÚOAuth2CredentialsÚGoogleCredentialsr   ÚServiceAccountCredentialsÚ_JWTAccessCredentialsÚcontribÚgceÚAppAssertionCredentialsr&   Ú	appenginer.   r   r   r   r   Ú<module>   sL   
€ÿÿ
ûþÿ