
    fQ                         d dl mZ 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)    )Optional)app_settings)get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                   \   e Zd ZdZej
                  j                  ei       Zdev r2ej                  d      j                  d      Z	dj                  e	      ZndZ	dZdj                  e	      Zdj                  e	      Zd	j                  e      Zd
j                  e      Zd Zdee   fdZy)GitHubOAuth2Adaptergithub
GITHUB_URL/z
{0}/api/v3zhttps://github.comzhttps://api.github.comz{0}/login/oauth/access_tokenz{0}/login/oauth/authorizez{0}/userz{0}/user/emailsc                 r   ddj                  |j                        i}t               j                         j	                  | j
                  |      }|j                          |j                         }t        j                  r| j                  |      x}r||d<   | j                         j                  ||      S )NAuthorizationztoken {}headersemails)formattokenr   get_requests_sessiongetprofile_urlraise_for_statusjsonr   QUERY_EMAIL
get_emailsget_providersociallogin_from_response)	selfrequestappr   kwargsr   resp
extra_datar   s	            g/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/github/views.pycomplete_loginz"GitHubOAuth2Adapter.complete_login   s    "J$5$5ekk$BCM..044T5E5Ew4W 	 	YY[
##11v1'-
8$  "<<WjQQ    returnc                     t               j                         j                  | j                  |      }|j                  dk(  ry |j                          |j                         S )Nr   i  )r   r   r   
emails_urlstatus_coder   r   )r   r   r"   s      r$   r   zGitHubOAuth2Adapter.get_emails(   sT    M..044T__g4V 	 s"yy{r&   N)__name__
__module____qualname__provider_idr   	PROVIDERSr   settingsrstripweb_urlr   api_urlaccess_token_urlauthorize_urlr   r)   r%   r   listr    r&   r$   r
   r
      s    K%%))+r:Hx,,|,33C8%%g.&*5<<WE/66w?M##G,K"))'2J
RXd^ r&   r
   N)typingr   allauth.socialaccountr   allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   r
   adapter_viewoauth2_loginoauth2_callbackr7   r&   r$   <module>r?      sN     . 5 $- $N ,++,?@1$112EFr&   