
    f                     ^    d 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	)
z0Customise Provider classes for MailChimp API v3.    )ProviderAccount)MailChimpOAuth2Adapter)OAuth2Providerc                   .     e Zd ZdZd Zd Z fdZ xZS )MailChimpAccountz'ProviderAccount subclass for MailChimp.c                 4    | j                   j                  d   S )zReturn base profile url.api_endpointaccount
extra_dataselfs    m/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/mailchimp/provider.pyget_profile_urlz MailChimpAccount.get_profile_url   s    ||&&~66    c                 :    | j                   j                  d   d   S )zReturn avatar url.loginavatarr
   r   s    r   get_avatar_urlzMailChimpAccount.get_avatar_url   s    ||&&w/99r   c                     t         |          }| j                  j                  j	                  di       }|j	                  d      xs |j	                  d      xs |S )Nr   login_emailemail)superto_strr   r   get)r   dflt
login_data	__class__s      r   r   zMailChimpAccount.to_str   sM    w~\\,,00"=
~~m,O
w0GO4Or   )__name__
__module____qualname____doc__r   r   r   __classcell__)r   s   @r   r   r   
   s    17:P Pr   r   c                   2    e Zd ZdZdZdZeZeZ	d Z
d Zd Zy)MailChimpProviderz)OAuth2Provider subclass for MailChimp v3.	mailchimp	MailChimpc                     t        |d         S )z.Extract uid ('user_id') and ensure it's a str.user_id)strr   datas     r   extract_uidzMailChimpProvider.extract_uid#   s    4	?##r   c                     dgS )z&Ensure scope is null to fit their API.  r   s    r   get_default_scopez#MailChimpProvider.get_default_scope'   s	    tr   c                     t        |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |j                  d            S )	z%Extract fields from a metadata query.dcroleaccountnamer)   r   	login_urlr	   )r3   r4   account_namer)   r   r6   r	   )dictr   r+   s     r   extract_common_fieldsz'MailChimpProvider.extract_common_fields+   sb    xx~&!-0HHY'((7#hh{+.1
 	
r   N)r   r    r!   r"   idnamer   account_classr   oauth2_adapter_classr-   r1   r9   r0   r   r   r%   r%      s)    3	BD$M1$

r   r%   N)
r"   $allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.mailchimp.viewsr   /allauth.socialaccount.providers.oauth2.providerr   r   r%   provider_classesr0   r   r   <module>rB      s;    6 @ KP P"
 
: && r   