U
    Z‚!cW  ã                   @   sN   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)ÚProviderAccount)ÚOAuth2Providerc                       s0   e Zd Zedd„ ƒZdd„ Z‡ fdd„Z‡  ZS )ÚKakaoAccountc                 C   s   | j j d¡S )NÚ
properties)ZaccountÚ
extra_dataÚget©Úself© r   úr/var/www/html/crackeverytest/cet_env/lib/python3.8/site-packages/allauth/socialaccount/providers/kakao/provider.pyr      s    zKakaoAccount.propertiesc                 C   s   | j  d¡S )NZprofile_image)r   r   r	   r   r   r   Úget_avatar_url   s    zKakaoAccount.get_avatar_urlc                    s   t t| ƒ ¡ }| j d|¡S )NÚnickname)Úsuperr   Úto_strr   r   )r
   Zdflt©Ú	__class__r   r   r      s    zKakaoAccount.to_str)Ú__name__Ú
__module__Ú__qualname__Úpropertyr   r   r   Ú__classcell__r   r   r   r   r      s   
r   c                   @   s0   e Zd ZdZdZeZdd„ Zdd„ Zdd„ Z	d	S )
ÚKakaoProviderZkakaoZKakaoc                 C   s   t |d ƒS )NÚid)Ústr)r
   Údatar   r   r   Úextract_uid   s    zKakaoProvider.extract_uidc                 C   s0   |  di ¡  d¡}|  di ¡  d¡}t||dS )NÚkakao_accountÚemailr   r   )r   Úusername)r   Údict)r
   r   r   r   r   r   r   Úextract_common_fields   s    z#KakaoProvider.extract_common_fieldsc                 C   s@   g }|  di ¡}|  d¡}|r<|  d¡}| t||dd¡ |S )Nr   r   Zis_email_verifiedT)r   ÚverifiedZprimary)r   Úappendr   )r
   r   Úretr   r"   r   r   r   Úextract_email_addresses!   s    

z%KakaoProvider.extract_email_addressesN)
r   r   r   r   Únamer   Zaccount_classr   r!   r%   r   r   r   r   r      s   r   N)	Zallauth.account.modelsr   Z$allauth.socialaccount.providers.baser   Z/allauth.socialaccount.providers.oauth2.providerr   r   r   Zprovider_classesr   r   r   r   Ú<module>   s
   