a
    Qx_v                     @   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 )NZexternal_urlsspotify)account
extra_datagetself r   h/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/spotify/provider.pyget_profile_url   s    zSpotifyAccount.get_profile_urlc                 C   s4   z| j jdd dW S  ty.   Y d S 0 d S )NZ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   Z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   Z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   ZQUERY_EMAILappend)r   Zscoper   r   r   get_default_scope    s    
z'SpotifyOAuth2Provider.get_default_scopeN)
r   r   r   r   r!   r   Zaccount_classr   r#   r%   r   r   r   r   r      s   r   N)	Zallauth.socialaccountr   Z$allauth.socialaccount.providers.baser   Z/allauth.socialaccount.providers.oauth2.providerr   r   r   Zprovider_classesr   r   r   r   <module>   s
   