Ë
    ûûàgs  ã                   ój   — d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d„ de«      Z	 G d„ d	e«      Z
e
gZy
)z1Customise Provider classes for Eventbrite API v3.é    )ÚEmailAddress)ÚProviderAccount)ÚEventbriteOAuth2Adapter)ÚOAuth2Providerc                   ó(   ‡ — e Zd ZdZd„ Zˆ fd„Zˆ xZS )ÚEventbriteAccountz(ProviderAccount subclass for Eventbrite.c                 ó4   — | j                   j                  d   S )zReturn avatar url.Úimage_id)ÚaccountÚ
extra_data©Úselfs    úq/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/eventbrite/provider.pyÚget_avatar_urlz EventbriteAccount.get_avatar_url   s   € à�|‰|×&Ñ& zÑ2Ð2ó    c                 ó~   •— | j                   j                  j                  d«      }|r|d   d   S t        ‰| �  «       S )NÚemailsr   Úemail)r   r   ÚgetÚsuperÚto_str)r   r   Ú	__class__s     €r   r   zEventbriteAccount.to_str   s<   ø€ Ø—‘×(Ñ(×,Ñ,¨XÓ6ˆÙØ˜!‘9˜WÑ%Ð%Ü‰w‰~ÓÐr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__classcell__)r   s   @r   r   r      s   ø„ Ù2ò3÷ ð  r   r   c                   ó8   — e Zd ZdZdZdZeZeZ	d„ Z
d„ Zd„ Zd„ Zy)	ÚEventbriteProviderz'OAuth2Provider subclass for Eventbrite.Ú
eventbriteÚ
Eventbritec                 ó   — t        |d   «      S )z)Extract uid ('id') and ensure it's a str.Úid)Ústr)r   Údatas     r   Úextract_uidzEventbriteProvider.extract_uid!   s   € ä�4˜‘:‹Ðr   c                 ó   — dgS )z&Ensure scope is null to fit their API.Ú © r   s    r   Úget_default_scopez$EventbriteProvider.get_default_scope%   s	   € àˆtˆr   c           
      ó„  — d}|j                  dg «      D ]N  }|xs |j                  d«      }|j                  dd«      sŒ+|j                  dd«      sŒ>|j                  d«      }ŒP t        ||j                  d«      |j                  d«      |j                  d	«      |j                  d
«      |j                  d«      ¬«      S )z'Extract fields from a basic user query.Nr   r   ÚverifiedFÚprimaryr#   ÚnameÚ
first_nameÚ	last_nameÚ	image_url)r   r#   r.   r/   r0   r1   )r   Údict)r   r%   r   Ú
curr_emails       r   Úextract_common_fieldsz(EventbriteProvider.extract_common_fields)   sª   € àˆØŸ(™( 8¨RÓ0ò 	0ˆJØÒ4˜ZŸ^™^¨GÓ4ˆEØ�~‰~˜j¨%Õ0°Z·^±^ÀIÈuÕ5UØ"Ÿ™ wÓ/‘ð	0ô
 ØØ�x‰x˜‹~Ø—‘˜&Ó!Ø—x‘x Ó-Ø—h‘h˜{Ó+Ø—h‘h˜{Ó+ô
ð 	
r   c           	      ó¬   — g }|j                  dg «      D ]<  }|j                  t        |j                  d«      |j                  d«      ¬«      «       Œ> |S )Nr   r   r,   )r   r,   )r   Úappendr   )r   r%   Ú	addressesr   s       r   Úextract_email_addressesz*EventbriteProvider.extract_email_addresses:   sW   € Øˆ	Ø—X‘X˜h¨Ó+ò 	ˆEØ×ÑÜØŸ)™) GÓ,Ø"ŸY™Y zÓ2ôõð	ð Ðr   N)r   r   r   r   r#   r.   r   Úaccount_classr   Úoauth2_adapter_classr&   r*   r4   r8   r)   r   r   r   r      s.   „ Ù1à	€BØ€DØ%€MØ2Ðòòò
ó"
r   r   N)r   Úallauth.account.modelsr   Ú$allauth.socialaccount.providers.baser   Ú0allauth.socialaccount.providers.eventbrite.viewsr   Ú/allauth.socialaccount.providers.oauth2.providerr   r   r   Úprovider_classesr)   r   r   ú<module>r@      s=   ðÙ 7å /Ý @õõ Kô ˜ô  ô+˜ô +ð\ 'Ð'Ñ r   