o
    ˷e                     @   sF   d 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 )	z0Customise Provider classes for MailChimp API v3.    )ProviderAccount)OAuth2Providerc                   @   s    e Zd ZdZdd Zdd ZdS )MailChimpAccountz'ProviderAccount subclass for MailChimp.c                 C   s   | j jd S )zReturn base profile url.api_endpointaccount
extra_dataself r   i/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/mailchimp/provider.pyget_profile_url
      z MailChimpAccount.get_profile_urlc                 C   s   | j jd d S )zReturn avatar url.loginavatarr   r	   r   r   r   get_avatar_url   s   zMailChimpAccount.get_avatar_urlN)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s    r   c                   @   s4   e Zd ZdZdZdZeZdd Zdd Z	dd	 Z
d
S )MailChimpProviderz)OAuth2Provider subclass for MailChimp v3.	mailchimp	MailChimpc                 C   s   t |d S )z.Extract uid ('user_id') and ensure it's a str.user_id)strr
   datar   r   r   extract_uid   r   zMailChimpProvider.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#MailChimpProvider.get_default_scopec              
   C   s@   t |d|d|d|d|d|d|ddS )	z%Extract fields from a metadata query.dcroleaccountnamer   r   	login_urlr   )r    r!   account_namer   r   r#   r   )dictgetr   r   r   r   extract_common_fields#   s   z'MailChimpProvider.extract_common_fieldsN)r   r   r   r   idnamer   account_classr   r   r'   r   r   r   r   r      s    r   N)r   $allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.oauth2.providerr   r   r   provider_classesr   r   r   r   <module>   s    
