o
    Lf<                     @   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   t/var/www/html/humari/django-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   s8   g }| dg D ]}|t| d| dd q|S )Nr   r   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    	
.