
    f                         d dl mZ d dlmZ d dlmZmZmZ  G d de      Z ej                  e      Z
 ej                  e      Zy)    )app_settings)get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                   2    e Zd ZdZdZdZdZdZd Zde	fdZ
y	)
BitbucketOAuth2Adapterbitbucket_oauth2z.https://bitbucket.org/site/oauth2/access_tokenz+https://bitbucket.org/site/oauth2/authorizez"https://api.bitbucket.org/2.0/userz)https://api.bitbucket.org/2.0/user/emailsc                 0   t               j                         j                  | j                  d|j                  i      }|j                         }t        j                  r| j                  |      x}r||d<   | j                         j                  ||      S )Naccess_tokenparamsemail)r   get_requests_sessiongetprofile_urltokenjsonr   QUERY_EMAIL	get_emailget_providersociallogin_from_response)selfrequestappr   kwargsresp
extra_datar   s           q/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/bitbucket_oauth2/views.pycomplete_loginz%BitbucketOAuth2Adapter.complete_login   s    M!!#S!!>5;;*GSH 	
 YY[
##u--u-&+
7#  "<<WjQQ    returnc                    t               j                         j                  | j                  d|j                  i      }|j                         j                  dg       }d}	 |d   j                  d      }|D cg c]  }|j                  dd      s| }}|d   j                  d      }|S c c}w # t        t        t        f$ r Y |S w xY w)	z-Fetches email address from email API endpointr   r   values r   r   
is_primaryF)	r   r   r   
emails_urlr   r   
IndexError	TypeErrorKeyError)r   r   r   emailsr   eprimary_emailss          r   r   z BitbucketOAuth2Adapter.get_email   s     M!!#S.%++)FSG 	
 2.	1IMM'*E)/NA155u3MaNNN"1%))'2E 	 OIx0 		s*   #B4 ;B/B/B4 /B4 4CCN)__name__
__module____qualname__provider_idaccess_token_urlauthorize_urlr   r'   r    strr    r!   r   r	   r	   
   s.    $KGAM6K<J
R# r!   r	   N)allauth.socialaccountr   allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   r	   adapter_viewoauth_loginoauth_callbackr5   r!   r   <module>r<      sK    . 5 "] "J +o**+AB0#001GHr!   