a
    Qx_                     @   sR   d dl mZ d dlmZ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ProviderException)OAuth2Providerc                       s,   e Zd Zdd Zdd Z fddZ  ZS )GlobusAccountc                 C   s   | j jddS )NZweb_urldfltaccount
extra_datagetself r   g/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/globus/provider.pyget_profile_url
   s    zGlobusAccount.get_profile_urlc                 C   s   | j jddS )NZ
avatar_urlr   r   r   r   r   r   get_avatar_url   s    zGlobusAccount.get_avatar_urlc                    s   t t|  }| jjd|S )Nname)superr   to_strr	   r
   r   )r   r   	__class__r   r   r      s    zGlobusAccount.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 )
GlobusProviderZglobusZGlobusc                 C   s   d|vrt d|t|d S )NsubzGlobus OAuth error)r   strr   datar   r   r   extract_uid   s    
zGlobusProvider.extract_uidc                 C   s    t |d|d|ddS )NemailZpreferred_usernamer   )r!   usernamer   )dictr   r   r   r   r   extract_common_fields   s
    z$GlobusProvider.extract_common_fieldsc                 C   s   g d}t jr|d |S )N)ZopenidZprofileZoffline_accessr!   )r   ZQUERY_EMAILappend)r   Zscoper   r   r   get_default_scope&   s    
z GlobusProvider.get_default_scopeN)
r   r   r   idr   r   Zaccount_classr    r$   r&   r   r   r   r   r      s   r   N)
Zallauth.socialaccountr   Z$allauth.socialaccount.providers.baser   r   Z/allauth.socialaccount.providers.oauth2.providerr   r   r   Zprovider_classesr   r   r   r   <module>   s
   