a
    ‹Qx_o  ã                   @   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.Zimage_id)ZaccountÚ
extra_data©Úself© r	   úk/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/eventbrite/provider.pyÚget_avatar_url   s    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.Z
eventbriteZ
Eventbritec                 C   s   t |d ƒS )z)Extract uid ('id') and ensure it's a str.Úid)Ústr)r   Údatar	   r	   r
   Úextract_uid   s    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 ]4}|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   Z
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   Z	verfifiedr   )r   r   r   )r   Úappendr   )r   r   Z	addressesr   r	   r	   r
   Úextract_email_addresses1   s    ýÿz*EventbriteProvider.extract_email_addressesN)r   r   r   r   r   r   r   Zaccount_classr   r   r!   r#   r	   r	   r	   r
   r      s   r   N)
r   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   	/