o
    ˷ev                     @   sN   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 )	    )app_settings)ProviderAccount)OAuth2Providerc                       s,   e Zd Zdd Zdd Z fddZ  ZS )SpotifyAccountc                 C   s   | j jddS )Nexternal_urlsspotify)account
extra_datagetself r   g/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/spotify/provider.pyget_profile_url   s   zSpotifyAccount.get_profile_urlc                 C   s0   z| j jdd dW S  ty   Y d S w )Nimagesr   url)r   r	   r
   
IndexErrorr   r   r   r   get_avatar_url
   s
   zSpotifyAccount.get_avatar_urlc                    s   t t|  }| jjd|S )Ndisplay_name)superr   to_strr   r	   r
   )r   dflt	__class__r   r   r      s   zSpotifyAccount.to_str)__name__
__module____qualname__r   r   r   __classcell__r   r   r   r   r      s    r   c                   @   s0   e Zd ZdZdZeZdd Zdd Zdd Z	d	S )
SpotifyOAuth2Providerr   Spotifyc                 C   s   |d S )Nidr   r   datar   r   r   extract_uid   s   z!SpotifyOAuth2Provider.extract_uidc                 C   s   t |d|ddS )Nr   email)namer$   )dictr
   r!   r   r   r   extract_common_fields   s   z+SpotifyOAuth2Provider.extract_common_fieldsc                 C   s   g }t jr
|d |S )Nzuser-read-email)r   QUERY_EMAILappend)r   scoper   r   r   get_default_scope    s   
z'SpotifyOAuth2Provider.get_default_scopeN)
r   r   r   r    r%   r   account_classr#   r'   r+   r   r   r   r   r      s    r   N)	allauth.socialaccountr   $allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.oauth2.providerr   r   r   provider_classesr   r   r   r   <module>   s    
