
    fY                     r    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	  G d de      Z
 G d d	e	      ZegZy
)    )EmailAddress)app_settings)ProviderAccount)GitHubOAuth2Adapter)OAuth2Providerc                       e Zd Zd Zd Zy)GitHubAccountc                 L    | j                   j                  j                  d      S )Nhtml_urlaccount
extra_datagetselfs    j/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/github/provider.pyget_profile_urlzGitHubAccount.get_profile_url	   s    ||&&**:66    c                 L    | j                   j                  j                  d      S )N
avatar_urlr   r   s    r   get_avatar_urlzGitHubAccount.get_avatar_url   s    ||&&**<88r   N)__name__
__module____qualname__r   r    r   r   r	   r	      s    79r   r	   c                   :    e Zd ZdZdZeZeZd Z	d Z
d Zd Zd Zy)	GitHubProvidergithubGitHubc                 L    g }t         j                  r|j                  d       |S )Nz
user:email)r   QUERY_EMAILappend)r   scopes     r   get_default_scopez GitHubProvider.get_default_scope   s!    ##LL&r   c                     t        |d         S )Nid)strr   datas     r   extract_uidzGitHubProvider.extract_uid   s    4:r   c                 x    t        |j                  d      |j                  d      |j                  d            S )Nemailloginname)r,   usernamer.   )dictr   r(   s     r   extract_common_fieldsz$GitHubProvider.extract_common_fields   s3    ((7#XXg&&!
 	
r   c                 F    d|v rt        |      }|j                  d       |S )Nemails)r0   popr(   s     r   extract_extra_dataz!GitHubProvider.extract_extra_data&   s$    t:DHHXr   c           	          g }|j                  dg       D ](  }|j                  t        |d   |d   |d                * |S )Nr3   r,   primaryverified)r,   r7   r8   )r   r"   r   )r   r)   retr,   s       r   extract_email_addressesz&GitHubProvider.extract_email_addresses,   sS    XXh+ 	EJJ.!),":.	 
r   N)r   r   r   r&   r.   r	   account_classr   oauth2_adapter_classr$   r*   r1   r5   r:   r   r   r   r   r      s0    	BD!M.

r   r   N)allauth.account.modelsr   allauth.socialaccountr   $allauth.socialaccount.providers.baser   ,allauth.socialaccount.providers.github.viewsr   /allauth.socialaccount.providers.oauth2.providerr   r	   r   provider_classesr   r   r   <module>rC      s8    / . @ L J9O 9&^ &R ## r   