a
    ‹Qx_Ð  ã                   @   sB   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 )é    )ÚProviderAccount)ÚOAuth2Providerc                       s   e Zd Z‡ fdd„Z‡  ZS )ÚCernAccountc                    s   t t| ƒ ¡ }| jj d|¡S )NÚname)Úsuperr   Úto_strZaccountÚ
extra_dataÚget)ÚselfZdflt©Ú	__class__© úe/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/cern/provider.pyr      s    zCernAccount.to_str)Ú__name__Ú
__module__Ú__qualname__r   Ú__classcell__r   r   r   r   r      s   r   c                       s8   e Zd ZdZdZeZ‡ fdd„Zdd„ Zdd„ Z	‡  Z
S )	ÚCernProviderZcernZCernc                    s   t t| ƒ ||¡}d|d< |S )Nz	read:userZscope)r   r   Úget_auth_params)r
   ÚrequestÚactionÚdatar   r   r   r      s    zCernProvider.get_auth_paramsc                 C   s   t | d¡ƒS )NÚid)Ústrr	   ©r
   r   r   r   r   Úextract_uid   s    zCernProvider.extract_uidc                 C   s0   t | d¡| d¡| d¡| d¡| d¡dS )NÚemailÚusernameÚ
first_nameÚ	last_namer   )r   r   r   r   r   )Údictr	   r   r   r   r   Úextract_common_fields   s    ûz"CernProvider.extract_common_fields)r   r   r   r   r   r   Zaccount_classr   r   r!   r   r   r   r   r   r      s   r   N)Z$allauth.socialaccount.providers.baser   Z/allauth.socialaccount.providers.oauth2.providerr   r   r   Zprovider_classesr   r   r   r   Ú<module>   s   