o
    ho                     @   sf   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 deZ
G dd	 d	eZegZd
S )    )EmailAddress)app_settings)ProviderAccount)OAuth2Provider)YandexOAuth2Adapterc                       s   e Zd Z fddZ  ZS )YandexAccountc                    s    | j jd}|r|S t  S )Ndefault_email)account
extra_datagetsuperto_str)selfemail	__class__ f/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/yandex/provider.pyr   	   s   
zYandexAccount.to_str)__name__
__module____qualname__r   __classcell__r   r   r   r   r      s    r   c                   @   sD   e Zd ZdZdZeZeZdd Z	dd Z
dd Zd	d
 Zdd ZdS )YandexProvideryandexYandexc                 C   s   dg}t jr|d |S )Nz
login:infozlogin:email)r   QUERY_EMAILappend)r   scoper   r   r   get_default_scope   s   
z YandexProvider.get_default_scopec                 C   s   t |d S )Nid)str)r   datar   r   r   extract_uid   s   zYandexProvider.extract_uidc                 C   s,   | d}|s| d}|r|d nd}|S )Nr   emailsr    )r   )r   r!   r   r#   r   r   r   get_user_email   s
   

zYandexProvider.get_user_emailc                 C   s,   |  |}t||d|d|ddS )N	last_namedisplay_name
first_name)r   r&   usernamer(   )r%   dictr   )r   r!   r   r   r   r   extract_common_fields&   s   
z$YandexProvider.extract_common_fieldsc                 C   s*   g }|  |}|r|t|ddd |S )NT)r   verifiedprimary)r%   r   r   )r   r!   retr   r   r   r   extract_email_addresses/   s
   
z&YandexProvider.extract_email_addressesN)r   r   r   r   namer   account_classr   oauth2_adapter_classr   r"   r%   r+   r/   r   r   r   r   r      s    	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   r   <module>   s    
'