
    fo                     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)OAuth2Provider)YandexOAuth2Adapterc                        e Zd Z fdZ xZS )YandexAccountc                 r    | j                   j                  j                  d      }|r|S t        |          S )Ndefault_email)account
extra_datagetsuperto_str)selfemail	__class__s     j/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/yandex/provider.pyr   zYandexAccount.to_str	   s2    ''++O<Lw~    )__name__
__module____qualname__r   __classcell__)r   s   @r   r	   r	      s       r   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)	YandexProvideryandexYandexc                 N    dg}t         j                  r|j                  d       |S )Nz
login:infozlogin:email)r   QUERY_EMAILappend)r   scopes     r   get_default_scopez YandexProvider.get_default_scope   s#    ##LL'r   c                     t        |d         S )Nid)str)r   datas     r   extract_uidzYandexProvider.extract_uid   s    4:r   c                 `    |j                  d      }|s|j                  d      }|r|d   nd}|S )Nr   emailsr    )r   )r   r&   r   r)   s       r   get_user_emailzYandexProvider.get_user_email   s3    )XXh'F!'F1IREr   c                     | j                  |      }t        ||j                  d      |j                  d      |j                  d            S )N	last_namedisplay_name
first_name)r   r-   usernamer/   )r+   dictr   )r   r&   r   s      r   extract_common_fieldsz$YandexProvider.extract_common_fields&   sF    ##D)hh{+XXn-xx-	
 	
r   c                 j    g }| j                  |      }|r|j                  t        |dd             |S )NT)r   verifiedprimary)r+   r    r   )r   r&   retr   s       r   extract_email_addressesz&YandexProvider.extract_email_addresses/   s4    ##D)JJ|%$MN
r   N)r   r   r   r$   namer	   account_classr   oauth2_adapter_classr"   r'   r+   r2   r7    r   r   r   r      s0    	BD!M.
r   r   N)allauth.account.modelsr   allauth.socialaccountr   $allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.oauth2.providerr   ,allauth.socialaccount.providers.yandex.viewsr   r	   r   provider_classesr;   r   r   <module>rB      s8    / . @ J L O  $^ $N ## r   