U
    Z‚!cd  ã                   @   sJ   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egZ	dS )é    )ÚEmailAddress)ÚQUERY_EMAIL)ÚProviderAccount)ÚOAuth2Providerc                   @   s8   e Zd ZdZdZeZdd„ Zdd„ Zdd„ Z	d	d
„ Z
dS )ÚAppleProviderZappleZApplec                 C   s   t |d ƒS )NÚsub)Ústr)ÚselfÚdata© r   úr/var/www/html/crackeverytest/cet_env/lib/python3.8/site-packages/allauth/socialaccount/providers/apple/provider.pyÚextract_uid   s    zAppleProvider.extract_uidc                 C   s@   d|  d¡i}|  d¡}|r<|  dd¡|d< |  dd¡|d< |S )NÚemailÚnameZ	firstNameÚ Z
first_nameZlastNameÚ	last_name)Úget)r	   r
   Úfieldsr   r   r   r   Úextract_common_fields   s    
z#AppleProvider.extract_common_fieldsc                 C   sJ   g }|  d¡}|  d¡}t|tƒr.| ¡ dk}|rF| t||dd¡ |S )Nr   Zemail_verifiedÚtrueT)r   ÚverifiedZprimary)r   Ú
isinstancer   ÚlowerÚappendr   )r	   r
   Úretr   r   r   r   r   Úextract_email_addresses   s    


ýÿz%AppleProvider.extract_email_addressesc                 C   s   dg}t r| d¡ |S )Nr   r   )r   r   )r	   Zscopesr   r   r   Úget_default_scope*   s    
zAppleProvider.get_default_scopeN)Ú__name__Ú
__module__Ú__qualname__Úidr   r   Zaccount_classr   r   r   r   r   r   r   r   r      s   r   N)
Zallauth.account.modelsr   Z"allauth.socialaccount.app_settingsr   Z$allauth.socialaccount.providers.baser   Z/allauth.socialaccount.providers.oauth2.providerr   r   Zprovider_classesr   r   r   r   Ú<module>   s
   *