o
    ëË·eo  ã                   @   sR   d 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 )
z1Customise Provider classes for Eventbrite API v3.é    )ÚEmailAddress)ÚProviderAccount)ÚOAuth2Providerc                   @   s   e Zd ZdZdd„ ZdS )ÚEventbriteAccountz(ProviderAccount subclass for Eventbrite.c                 C   s   | j jd S )zReturn avatar url.Úimage_id)ÚaccountÚ
extra_data©Úself© r   új/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/eventbrite/provider.pyÚget_avatar_url   ó   z EventbriteAccount.get_avatar_urlN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r      s    r   c                   @   s<   e Zd ZdZdZdZeZdd„ Zdd„ Z	dd	„ Z
d
d„ ZdS )ÚEventbriteProviderz'OAuth2Provider subclass for Eventbrite.Ú
eventbriteÚ
Eventbritec                 C   s   t |d ƒS )z)Extract uid ('id') and ensure it's a str.Úid)Ústr)r
   Údatar   r   r   Úextract_uid   r   zEventbriteProvider.extract_uidc                 C   s   dgS )z&Ensure scope is null to fit their API.Ú r   r	   r   r   r   Úget_default_scope   s   z$EventbriteProvider.get_default_scopec              	   C   sx   d}|  dg ¡D ]}|p|  d¡}|  dd¡r"|  dd¡r"|  d¡}qt||  d¡|  d¡|  d	¡|  d
¡|  d¡dS )z'Extract fields from a basic user query.NÚemailsÚemailÚverifiedFÚprimaryr   ÚnameÚ
first_nameÚ	last_nameÚ	image_url)r   r   r    r!   r"   r#   )ÚgetÚdict)r
   r   r   Ú
curr_emailr   r   r   Úextract_common_fields    s   
€úz(EventbriteProvider.extract_common_fieldsc              	   C   s@   g }|  dg ¡D ]}| t|  d¡|  d¡|  d¡d¡ q|S )Nr   r   Ú	verfifiedr   )r   r   r   )r$   Úappendr   )r
   r   Ú	addressesr   r   r   r   Úextract_email_addresses1   s   ýÿz*EventbriteProvider.extract_email_addressesN)r   r   r   r   r   r    r   Úaccount_classr   r   r'   r+   r   r   r   r   r      s    r   N)
r   Úallauth.account.modelsr   Ú$allauth.socialaccount.providers.baser   Ú/allauth.socialaccount.providers.oauth2.providerr   r   r   Úprovider_classesr   r   r   r   Ú<module>   s    	
/