a
    -u^`                     @   sZ   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)OAuth2Providerc                       s   e Zd Z fddZ  ZS )YandexAccoutc                    sD   | j jdd}| j jdd}d||g }|pBtt|  S )N
first_name 	last_name )Zaccount
extra_datagetjoinstripsuperr   to_str)selfr   r	   name	__class__ g/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/yandex/provider.pyr      s    zYandexAccout.to_str)__name__
__module____qualname__r   __classcell__r   r   r   r   r      s   r   c                   @   s@   e Zd ZdZdZeZdd Zdd Zdd Z	d	d
 Z
dd ZdS )YandexProviderZyandexZYandexc                 C   s   dg}t jr|d |S )Nz
login:infozlogin:email)r   ZQUERY_EMAILappend)r   Z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 )NZdefault_emailemailsr   r   )r   )r   r    emailr"   r   r   r   get_user_email   s
    

zYandexProvider.get_user_emailc                 C   s,   |  |}t||d|d|ddS )Nr	   Zdisplay_namer   )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#   ZverifiedZprimary)r$   r   r   )r   r    retr#   r   r   r   extract_email_addresses-   s
    
z&YandexProvider.extract_email_addressesN)r   r   r   r   r   r   Zaccount_classr   r!   r$   r'   r)   r   r   r   r   r      s   	r   N)Zallauth.account.modelsr   Zallauth.socialaccountr   Z$allauth.socialaccount.providers.baser   Z/allauth.socialaccount.providers.oauth2.providerr   r   r   Zprovider_classesr   r   r   r   <module>   s   &